IoC
什么是IoC?
IoC是控制反转,控制的是bean的创建、管理、生命周期,反转的是控制的权力,对于Spring来说,就是将bean的控制权交给Spring框架管理。
另一种说法是把IoC当作一个bean的容器,叫做IoC容器,我们可以从容器中获取bean。
控制反转的优点:
- 方便:无需关注bean的具体实现过程,相当于一个黑盒
什么是DI?
DI是依赖注入,DI是IoC的一种具体实现,表现为将设置对象的依赖的控制权反转,意思就是通过DI实现bean生命周期控制权的反转。同理不自己new对象,而是Spring项目启动的时候,IoC容器帮你new对象。
依赖是程序运行时对象需要的外部的一些数据资源,注入是把这些数据资源填充到bean对象的内部,让对象间产生依赖关系。
DI优点:
- 解耦:它把对象之间的依赖关系转成用配置文件来统一管理,避免不同业务互相影响,利于修改。
一般有三种方式注入:
构造器注入
1 |
|
Setter方法注入
1 |
|
字段的依赖注入
- 该方法使用反射来注入依赖,这比基于构造函数或基于 Setter 注入方法的成本更高。
1 | public class Store { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 白兰!