SpringBoot自動裝配機制的原理
簡介: SpringBoot自動裝配機制的原理
自動裝配是什麼?
自動裝配
簡單來說就是自動去把第三方元件的Bean裝載到IOC容器裡面,不需要開發人員在去寫Bean相關的一個配置。
SpringBoot如何實現自動裝配
在SpringBoot應用裡面只需要在啟動類上加上去加上 @SpringBootApplication
註解,就可以實現自動裝配, @SpringBootApplication
註解是一個複合註解,真正去實現自動裝配的註解是 @EnableAutoConfiguration
自動裝配的實現三個核心的關鍵技術
- 引入starter,啟動依賴元件的時候,元件裡面必須包含一個
@Confinguration
配置類,在這個配置類裡面,我們需要通過@Bean
這個註解去宣告需要裝配到IOC容器裡面的Bean物件。
- 這個配置類是放在第三方jar包裡面,然後通過SpringBoot種約定優於配置,去把這個配置類的全路徑,放在
classpath:/META-NF/spring·factories
檔案裡面,SpriingBoot就可以知道第三方jar包裡面這個配置類的位置,這個步驟主要是用到了Spring裡面的SpringFactoriesloader
來完成的
- SpringBoot拿到所有第三方jar包裡面宣告的配置類以後,再通過Spring提供
ImportSelector
這樣一個介面,來實現對這些配置類的動態載入,從而完成自動裝配
SpringBoot是約定優於配置這一理念下的一個產物,所以在很多地方都會看到這一類的思想,它的出現讓開發人員可以更加的聚焦在業務程式碼的編寫上,而不需要關心和業務無關的配置,自動裝配的思想在 SpringFramework3.X
版本里面的 @Eable
註解就已經有了實現的一個雛形, @Eable
註解是一個模組驅動的意思
只需要增加 @Eable
註解就能開啟某個功能,而不需要針對這個功能去做Bean的配置, @Eable
註解的底層也是去幫我們自動去完成這樣一個模組相關Bean的注入
版權宣告: 本文內容由阿里雲實名註冊使用者自發貢獻,版權歸原作者所有,阿里雲開發者社群不擁有其著作權,亦不承擔相應法律責任。具體規則請檢視《阿里雲開發者社群使用者服務協議》和《阿里雲開發者社群智慧財產權保護指引》。如果您發現本社群中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社群將立刻刪除涉嫌侵權內容。
「其他文章」
- 阿里雲PAI-Diffusion功能再升級,全鏈路支援模型調優,平均推理速度提升75%以上
- 淺談DDD中的聚合
- 圖文詳解 Spring AOP
- SpringBoot自動裝配機制的原理
- Lock和Synchronized的區別
- 當 AI 邂逅繪畫藝術,能迸發出怎樣的火花?
- Nginx 是如何實現高併發?常見的優化手段有哪些?
- 阿里雲基於全新RocketMQ 5.0核心的落地實踐
- 模型程式碼聯動難? BizWorks來助力
- 阿里雲無影重大升級:開發者造出手術機器人、智慧底盤和3D教學機
- 去中心化的前端構建工具 — Vite
- 如何做好“防禦性編碼”?
- uni-app元件-應用簡單快速上線
- 基於 KubeVela 的機器學習實踐
- 基於 KubeVela 的機器學習實踐
- 阿里本地生活端智慧架構設計與技術探索
- 優酷 IPv6 演進和實踐指南
- 談一談單元測試
- KubeDL 0.4.0 - Kubernetes AI 模型版本管理與追蹤
- 四種 AI 技術方案,教你擁有自己的 Avatar 形象