Spring的IOC容器初始化流程
IOC容器初始化在SpringApplication对象创建完毕执行run方法时执行refreshContext()时开始。
-
准备BeanFactory,设置其类加载器和environment等
-
执行BeanFactory后置处理器,扫描要放入容器的Bean信息,得到对应的BeanDefinition,并未创建真正的Bean对象,执行后注册
-
国际化
-
初始化事件多播器
-
启动Tomcat
-
绑定事件监听器和事件多播器
-
实例化非懒加载单例Bean,多例Bean以及懒加载Bean在调用时创建
-
完成初始化,进行清除实例化占用缓存等操作
IOC容器初始化过程及先准备注册BeanFactory后置处理器,然后启动tomcat并借助BeanFactory完成非懒加载单例Bean的实例化。