Spring的IOC容器初始化流程
IOC容器初始化在SpringApplication對象創建完畢執行run方法時執行refreshContext()時開始。
-
準備BeanFactory,設置其類加載器和environment等
-
執行BeanFactory后置處理器,掃描要放入容器的Bean信息,得到對應的BeanDefinition,并未創建真正的Bean對象,執行后注冊
-
國際化
-
初始化事件多播器
-
啟動Tomcat
-
綁定事件監聽器和事件多播器
-
實例化非懶加載單例Bean,多例Bean以及懶加載Bean在調用時創建
-
完成初始化,進行清除實例化占用緩存等操作
IOC容器初始化過程及先準備注冊BeanFactory后置處理器,然后啟動tomcat并借助BeanFactory完成非懶加載單例Bean的實例化。