您的位置:首页 >信息互动 >   正文

ioc和aop的作用(ioc和aop的理解)

导读 大家好,我是小前,我来为大家解答以上问题。ioc和aop的作用,ioc和aop的理解很多人还不知道,现在让我们一起来看看吧!1、我来说说我的理...

大家好,我是小前,我来为大家解答以上问题。ioc和aop的作用,ioc和aop的理解很多人还不知道,现在让我们一起来看看吧!

1、我来说说我的理解:

2、面试的时候,尽量不要照本宣科,这样给面试官的印象是很差的。用自己的话理解是最好的。我先来将两个例子:

3、ioc,控制反转,这个指的就是我们获取对象的方式进行反转了,改变了。在使用spring之前是需要手动new出来的,是我们主动获取的。使用spring之后,是将这个获取的过程交给spring来管理,我们只需要告诉spring你需要什么就行了,它就会把东西给你。比如:在没有电商的时候,我们去上街买东西,需要考虑到这东西有没有,价钱多少,怎么搬回来,去有多远……等等无数个和主要的业务逻辑(买东西)无关的问题。这样就会扰乱主业务逻辑。当我们有了电商平台后,买东西时只需要两步。注册账号(装载bean),告诉电商你要的东西名字(通过名字获取Bean),然后就可以在门口收到东西了。这就是ioc。

4、aop,面向切面。在谈这个之前需要了解几个词:切面,切入点,织入,目标对象,通知。

5、我先解释下名字的意思,再讲故事。

6、切面:就是你要准备增强的那些方法。

7、切入点:就是具体织入的方法,定义了地点

8、织入:动词,就是将切面织入的过层

9、目标对象:被增强的类

10、通知:就是什么时候增强,定义了时间

11、好了,了解清楚上面的几个词的意思后,再听故事就容易多了。

12、aop的功能就是用来增强,在执行主业务的通知也顺带执行其他业务。如:老李上街办点事儿,走啊走,走到了老王家门前(切入点),老王看见老李问:去哪啊!

13、老李:上街办点事儿(目标类)

14、老王:那帮我顺便把这封信投到邮筒里吧。(切面),等到10点的时候邮局开门了去柜台投。(通知)

15、老李:好嘞。然后老李接过信。(织入)

16、老李继续走啊走,继续上街办事(增强后的目标类)。办完事后老李回家了。

17、以上就是aop。aop一般用来处理权限控制,日志记录,加载事务等非主要业务逻辑的事情。底层是采用cglib和jdk的动态代理实现的。

18、以上例子可能会有点不恰当,如有大神,望指点修正,谢谢!

本文到此讲解完毕了,希望对大家有帮助。

免责声明:本文由用户上传,如有侵权请联系删除!