IOC(inversion of control)是Spring的核心,贯穿始终。所谓IOC
就是有Spring来控制对象的生命周期和对象间的关系。
传统开发模式:对象之间相互依赖
IOC开发模式:IOC控制对象之间的依赖
IOC是控制反转。本来对象之间的关系式相互援用的,相对耦合度很高,1个对象的破坏可能会影响许多的对象,对象对其他对象的援用是自己控制的,如果把所以控制权都交给1个外部的第3方,统1管理利用,就实现了控制反转,下降了耦合度。
DI(dependency injection)。所谓的依赖注入就是IOC容器在运行期间,动态的将某种依赖关系注入到对象当中。所以依赖注入和控制反转是从不同角度描写的同1件事情。通过引入IOC容器,通过援用对象依赖注入的方式来实现对象之间的解耦。
IOC不会对业务有很强的侵入性,是对象具有更好的可实用性,可重用性,可扩大性。
1.下降组件之间的耦合度。
2.提高产品的开发效力和质量。
3.统1标准,提高模块的复用性。
4.模块具有热插拔的特性。
IOC控制反转:
创建对象实例的控制权从代码转移到IOC容器控制,实际就是xml文件控制,侧重于原理。
DI依赖注入:
说的是创建对象时,为这个对象注入属性值和其他对象实例,侧重于实现。