spring全流程
spring实现容器的全流程
基本流程如下:
上面是spring容器的一个基本使用,跟着代码追进去:
默认的构造方法,核心:refresh方法
基本流程:
(1)创建ListableBeanFactory
(2) 将xml中配置的bean加载到容器中(并不是完全体,只是BeanDinfiation)
(3)一些中间操作
(4)初始化所有的单例bean
上面是概述,下面是详细展开
(1)创建容器前的准备工作
设置容器的一些状态(使用atomBoolean来实现)
(2) 创建容器,同时加载bean
上面的代码就是主要的过程
根据上面的代码可以看出来:
(1)applicationContext与beanFactory是有很大区别的,applicationContext将有关bean的创建相关的事务托管给DefaultListableBeanFactory(为什么是这个类,关键看这个类的结构,这个类是configruationListableBeanFactory和AbstractAutowairedCapbleBeanFactory的子类,具有最强大的功能)
customizeBeanFactory(设置两个属性)