1. 大緻過程
1.1 jre的啟動
java -jar app.jar
複制
當在伺服器執行該指令的時候 : 伺服器去環境變量找到 "java" 對應的執行檔案路徑 (例如 windows中的 java.exe) --> 執行java.exe --> 按照啟動參數,調用JNI 申請記憶體,初始化JVM ,調用類的加載器進行類的預加載(檢查,校驗,加載等) 将jdk自帶的核心類庫加載到方法區 --> 找到主類 --> 執行 main方法
1.2 springboot的啟動
SpringApplication.run(App.class, args);
複制
1.3 執行SpringApplication構造方法
(new SpringApplication(primarySources))
複制
構造方法
````
主要做了
在
// 3. 擷取初始化工廠集合
的時候,掃描并初始化所有的自動裝配工廠集合;
在
// 4. 擷取初始化工廠監聽集合
的時候,為自動裝配工廠集合初始化了監聽器集合;
1.4 執行SpringApplication構造方法
1.4.1 在 // 6. 重新整理容器
中
// 6. 重新整理容器
-
啟動了web引擎
預設Tomcat 詳情參讀 spring(1) - springboot内置Tomcat啟動過程;
- 準備benFactory -->
// 1. 準備BeanFactiry
- 初始化bean -->
// 2. 通過初始化好的beanFactory進行bean的初始化,并注冊到容器