spring~1、spring的IOC底层阅览流程图

IOC容器的工作流程


粗略阅读源码,梳理出spring IOC容器的大致工作流程:
1、首先入口是xml或者注解或者其他形式,要实现beanDefinationReader接口,然后 读取的时候,会将他们解析为bean的定义信息;
2、beanFactory在加载bean信息实例化(底层用的反射)之前,spring加了一个接口beanFactoryPostProcessor,用作扩展用。
3、beanFactory内部实例化bean之后,在要初始化bean对象之前,增加了一个一系列aware接口,将他的容器,以及工厂都暴露出来供使用者做扩展用。
4、经过一些列容器以及容器对象的注入之后,在初始化之前,spring又增加了一个接口 beanPostProcessor,该接口是可以作用于所有创建的bean,在初始化前后,均能通过重写该接口获取bean对象进行定制操作。
5、经过实现初始化接口完成初始化功能。
6、经过实现销毁接口disposableBean结束其生命。

仅从以上几点很明显得一个特点是,spring 通过一系列接口使之扩展性很强,面向接口编程。

spring~1、spring的IOC底层阅览流程图

此图后续持续追加。