Spring之IOC

来源:互联网 发布:淘宝退款1 手续费不退 编辑:程序博客网 时间:2024/06/16 13:14

IOC(Inversion of Control,控制反转)是Spring的核心,贯穿始终。

对于Spring框架来说,就是由Spring来负责控制对象的生命周期和对象之间的关系。

在传统的开发模式中,各个对象自己来维护各自的依赖关系,在一个对象中,如果要使用另外的对象,就必须要得到他,自己需要new一个或者从JNDI中查询一个,使用完毕之后还要进行销毁。

在IOC的开发模式中,对象之间的依赖关系变成由IOC容器来进行管理。所有的类都会在Spring容器当中登记,告诉Spring你是一个什么东西,你需要什么东西,然后Spring会在适当的时候将你所需要的东西主动送给你,同时也把你交给其他需要你的东西。所有类的创建和销毁都由Spring来控制。也就是说,控制对象生存周期的不再是引用他的对象而是Spring。对于一个具体的对象而言,以前是他控制其他对象,现在是所有的对象都被Spring所控制,并成为控制反转。

IOC又叫做依赖注入(Dependency Injection)所谓依赖注入就是由IOC容器在运行期间,动态的将某种以来关系注入到对象之中。所以,依赖注入(DI)和控制反转(IOC)是从不同的角度描述的同一间事情,只不过强调的不同而已,依赖注入强调关系的注入是由容器在运行时完成,而控制反转强调关系是由容器控制。其实本质是一样的。通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦。


IOC好处:

IOC在编程过程中不会对业务对象造成很强的侵入性,使用IOC之后,对象具有更好的可实行性,可重用性和可扩展性。降低组件之间的耦合度,提高开发效率和产品质量。统一标准,提高模块的复用性。模块具有热插拔特性。

原创粉丝点击