Spring容器啟動流程圖
0 檢舉
Spring容器的啟動流程是一系列精心設計的步驟,確保了依賴注入和資源管理的靈活性和高效性。首先,Spring上下文(ApplicationContext)的創建是核心,而這一階段通常涉及讀取配置元數據,無論是XML檔案、Java註解還是Java配置類別。其次,Bean工廠的初始化,通常是DefaultListableBeanFactory,負責實際管理Bean的生命週期。接著,Spring容器進行Bean定義的解析和加載,Bean定義在這裡被轉換成內部資料結構,以便進一步處理。 第三步涉及Bean的依賴解析和實例化。這裡,Spring容器會根據依賴關係,對Bean進行屬性填充和依賴注入。在第四步驟中,如果存在Bean前置處理程序介面(如BeanPostProcessor),Spring會應用這些介面來允許進一步的自訂。在Bean完全準備好之後,Spring容器啟動Bean的初始化方法(如果有的話),這通常是實作InitializingBean介面的afterPropertiesSet方法或使用@PostConstruct註解的方法。 最後一個關鍵步驟是Spring容器完成所有Bean的準備工作之後,通常會發出ContextRefreshedEvent事件,表示Spring容器已經完全啟動並且準備就緒。在整個流程中,需要注意的修飾語包括“可配置性”和“模組化”,這些是Spring設計中非常突出的特點。 文件類型: 此描述可用於編寫說明文件、技術部落格或簡報。 核心內容: - Spring容器啟動涉及配置載入、Bean工廠初始化、依賴解析、實例化、前處理程序應用、初始化方法執行,以及發佈上下文已刷新事件。 - 文件類型: 適用於文件、部落格、簡報。 - 修飾語: 重視可配置性和模組化設計。
相關推薦
作者其他創作
大綱/內容
看更多
1.應用程式啟動
觸發Spring容器初始化
創建Applicationcontext實例
2.加載配置
掃描配置類
加載xml/properties/yaml配置文件
解析bean定義
3.容器刷新過程 (refresh()方法)
3.1準備刷新容器
設置啟動時間
初始化屬性源
驗證必需屬性
3.2獲取Beanfactory
獲取defaultlistablebeanfactory實例
準備beanfactory
3.3準備Beanfactory
設置類加載器
設置表達式解析器
添加beanpostprocessor
3.4執行Beanfactorypostprocessor
調用configurationclasspostprocessor
處理配置類
註冊bean定義
3.5註冊Beanpostprocessor
註冊autowiredannotationbeanpostprocessor
註冊其他beanpostprocessor
3.6初始化消息源
初始化messagesource
支持國際化
3.7初始化事件廣播器
初始化applicationeventmulticaster
準備事件處理機制
3.8實例化單例Bean
實例化所有非延遲加載的單例bean
執行依賴注入
調用初始化方法
應用beanpostprocessor
4.容器啟動完成
發布contextrefreshedevent事件
容器準備就緒,可以接收請求
5.應用程式運行
處理用戶請求
使用容器中的Bean
6.容器關閉
發布contextclosedevent事件
執行銷毀方法
釋放資源
0 則評論
下一頁