Spring IOC机制
一, IoC控制反转---将对象的创建和生命周期的管理反转给了容器,以降低软件各模块间的耦合度,方便管理;(控制的是获取对象的方式反转给了第三方容器)
二,IOC的工作模式:
我们可以把IOC容器的工作模式看作是工厂模式的升华,可以把IOC容器看作是一个工厂,这个工厂里要生产的对象都在配置文件中给出定义,然后利用编程语言的反射编程,根据配置文件中给出的类的全路径名称生成相应的对象,从现实来看,IOC是把以前在工厂方法里写死的对象生成代码,改变为由配置文件来定义,也就是把工厂和对象生成这两者独立分离开来,目的就是提高灵活性和可维护性;
三,IOC工作原理实现:
- xml配置文件;
- 实体类;
- 控制反转的工厂类;
- 测试;
四:IOC可以做什么:
IoC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是 松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。
五,Spring的依赖注入(DI):在系统运行中,动态的向某个对象提供它所需要的其他对象;
举例: 比如对象A需要操作数据库,以前我们总是要在A中自己编写代码来获得一个Connection对象,有了 spring我们就只需要告诉spring,A中需要一个Connection,至于这个Connection怎么构造,何时构造,A不需要知道。在系统运行时,spring会在适当的时候制造一个Connection,然后像打针一样,注射到A当中,这样就完成了对各个对象之间关系的控制。A需要依赖 Connection才能正常运行,而这个Connection是由spring注入到A中的,