spring ioc,aop的原理复习

最近挺忙的,又偷懒没更新了…

 

今天看到一篇关于spring原理的文章,是关于spring中ioc和aop具体实现的。

结果发现我已经完全忘掉spring这两大特性的原理了,赶紧复习一下。

 

1.ioc

ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。

 

明确一点,ioc很大程度上是根据java的反射特性来实现的。

至于反射,可以参照我以前的文章:

http://www.xie4ever.com/2016/09/01/java-%e5%8f%8d%e5%b0%84/

 

我个人是这样理解的:我们把需要使用的类放进第三方容器中,需要用到了,就用反射把这个类加载出来(依赖注入di),使用类中的方法。整个这样的流程称为控制反转(ioc)。

 

2.aop

aop是面向切面,记得以前的文章中有提到具体实现原理

http://www.xie4ever.com/2016/03/22/spring-aop%e5%9f%ba%e7%a1%80/

 

首先明确一点,aop很大程度上是根据java的动态代理来实现的。

原来我们使用动态代理,需要写很多相关代码,并且要有比较深的了解,对开发人员的要求水平较高

现在spring帮我们包装了aop,只要设定运行时点,写逻辑就好,方便了很多

 

3.总结

感觉需要赶紧复习,练手才行…

发表评论

电子邮件地址不会被公开。 必填项已用*标注