3、 建立並配置當前spring boot應用使用的prepareenvironment
5、 列印banner。
7、 建立異常報告exceptionreporters
8、 執行preparecontext方法,對容器做一些相關設定。
9、 核心preparecontext,此布為@enableautoconfiguration自動化配置的關鍵,註冊的關鍵。
1.準備此上下文以進行重新整理 preparerefresh();
2.告訴子類重新整理內部bean工廠。configurablelistablebeanfactory beanfactory = getfreshbeanfactory();
3.準備在此上下文中使用的bean工廠。preparebeanfactory(beanfactory);
4.允許在上下文子類中對bean工廠進行後處理。postprocessbeanfactory(beanfactory);
5.呼叫在上下文中註冊為bean的工廠處理器。invokebeanfactorypostprocessors(beanfactory);
6.註冊攔截bean建立的bean處理器。registerbeanpostprocessors(beanfactory);
7.為此上下文初始化訊息源。initmessagesource();
9.在特定上下文子類中初始化其他特殊bean。onrefresh();
10.檢查偵聽器bean並註冊它們。registerlisteners();
11.例項化所有剩餘的(非延遲初始化)單例。finishbeanfactoryinitialization(beanfactory);
12.最後一步:發布相應的事件。finishrefresh()之後建立web伺服器如:tomcat;
11、 執行 listeners的started,running方法;
springboot 啟動流程
this.resourceloader resourceloader assert.notnull primarysources,primarysources must not be null this.primarysources new linkedhashset arrays.aslist p...
springboot啟動流程
本文以除錯乙個實際的springboot啟動程式為例,參考流程中主要類類圖,來分析其啟動邏輯和自動化配置原理。2.載入springboot配置環境 configurableenvironment 如果是通過web容器發布,會載入standardenvironment,其最終也是繼承了configur...
Spring Boot啟動流程
隨著我們ctrl加滑鼠左鍵的使用,最終我們會在乙個springboot專案中發現啟動過程由以下兩個過程組成 構造過程 public resourceloader resourceloader,class primarysources run方法 string.args context 這個也很重要,...