简单理解IOC与AOP


解释一下IOC和AOP

IOC

IOC,控制反转,一种思想。不只是Spring中有。

Spring中用IOC容器来实现了控制反转。

将手动新建对象交给了Spring来维护。

啥叫反转呢,就是本来如果你要新建一个高层的对象,他会依赖底层的。比如Car–>Framework->Bottom->Wheel->size,如果修改size,那么从高到低每一层都需要传入一个size,麻烦的很。但是IOC的话,直接用对象来

Spring时代用XML文件来配置Bean,SpringBoot时代用注解配置。

img


推荐阅读:https://www.zhihu.com/question/23277575/answer/169698662

例子:1.未改善
img

2.需要动态修改size

img
这样,每一层都需要传入要给size来对其进行初始化,因为上层会调用底层的构造函数,而这时候需要参数来传入。

3.依赖注入的方法来实现控制反转

img

这时候,通过将依赖的对象注入,也就是在当前类的构造函数中传入此类依赖的底层类,这样的话就不用再每次都传入底层类的具体参数。修改的话只需要修改底层类就行,而中间类不需要修改。

4.IOC容器

img

右面这个New对象的过程,就是IOC容器,被框架所接管了而不用我们手动去修改。

5.DI的三种方式

  • 构造函数传递(上面的例子)
  • Setter传递
  • 接口传递

img


AOP

文章作者: SongX64
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SongX64 !
  目录