Spring IOC的理解

IOC:控制反转(inversion of control)

主要有两种实现:DL和DI

 

Spring的IOC使用的是DI(依赖注入)

 

主要涉及两个容器:

低级容器:BeanFactory,就是个HashMap,Key是BeanName,Value是Bean的实例

高级容器:ApplicatonContext

 

Spring IOC的初始化过程,就是ClassPathXmlApplicationContext的构造过程

 

总结IOC的工作流程:

1、加载配置文件(xml),解析成BeanDefinition放在BeanFactory容器中

2、调用getBean时,从BeanDefinition所属的BeanFactory中,拿出Class对象进行实例化,同时,如果有依赖关系,将递归调用getBean方法,完成依赖注入;

ApplicationContext容器会调用refresh方法刷新BeanFactory工厂的所有配置。

 

通过以上简明扼要的总结,对Spring IOC有一个全面的认识,具体细节有兴趣可以查看一下Spring 源码。

posted @ 2018-10-18 10:04  上尤流苏  阅读(203)  评论(0编辑  收藏  举报