Spring Boot應用啟動背後隱藏著諸多步驟,本文將逐步剖析其邏輯執行順序。
一、Spring Boot應用啟動步驟
1.1 JVM啟動與主類加載
public static void main(String[] args)
方法的主類。 1.2 執行SpringApplication.run()
方法
SpringApplication.run()
方法,啟動Spring Boot應用。這是所有Spring Boot應用的入口點。 1.3 初始化SpringApplication
SpringApplication
初始化,包括:1.4 準備ApplicationContext
AnnotationConfigServletWebServerApplicationContext
)。 1.5 加載ApplicationContextInitializer
ApplicationContextInitializer
Bean(在上下文啟動前修改上下文)。 1.6 檢測並應用SpringApplicationRunListener
SpringApplicationRunListener
實現,允許外部監聽器接收應用啟動事件通知。 1.7 準備環境(屬性、配置文件和配置)
application.properties
或application.yml
以及命令行參數。 1.8 刷新應用上下文
@Component
、@Service
、@Repository
和@Controller
註解的類。 1.9 啟動嵌入式Web服務器(如果適用)
1.10 執行CommandLineRunner
和ApplicationRunner
Bean
CommandLineRunner
或ApplicationRunner
的Bean,則執行它們。 1.11 觸發ApplicationReadyEvent
事件
ApplicationReadyEvent
事件,表示應用已完全啟動並準備好處理請求。 1.12 保持應用運行(對於Web應用)
二、邏輯執行順序:簡要概述
為了記住啟動流程,可以將其視為三個主要階段:
1️⃣ 引導階段
SpringApplication.run()
。 2️⃣ 上下文初始化階段
3️⃣ 啟動後階段
CommandLineRunner
和ApplicationRunner
。 以上是春季 - 春季啟動 - 啟動 - 表演的詳細內容。更多資訊請關注PHP中文網其他相關文章!