IOC:控制反转 - 权利的反转
-
正转:在应用程序中,由对象自己主动的去寻找依赖的对象的方式
-
反转:IOC容器[spring容器]控制了对象的创建,控制了对象的创建以及外部资源的注入
对象只能被动的接收依赖的对象,spring容器来负责进行依赖对象的注入
-
好处 - 解耦合各个组件
-
IOC侧重于对象的创建交给spring容器管理
DI:依赖注入
- 即组件以一些预先定义好的方法,来接收容器的资源注入
- 组件之间依赖关系是由容器在运行期间决定
- 提升组件重用的频率
- 应用程序[bean]依赖于spring容器
- DI侧重于Spring容器在创建对象的时候,动态的给对象依赖注入需要的组件
IOC和DI的区别:
-
IOC控制反转,把对象的创建交给Spring容器进行管理
-
DI依赖注入,向类里面的属性设置值
-
关系:依赖注入不能单独存在,需要在IOC的基础之上完成操作
-
IoC:控制反转,指将对象的创建权,反转到spring容器。
DI:依赖注入,指在创建对象的过程中,将对象依赖的属性通过配置进行注入。
DI的实现依赖于IoC,先有控制反转才有依赖注入