SpringBoot自動裝配機制的原理

語言: CN / TW / HK

簡介: SpringBoot自動裝配機制的原理

自動裝配是什麼?

自動裝配 簡單來說就是自動去把第三方元件的Bean裝載到IOC容器裡面,不需要開發人員在去寫Bean相關的一個配置。

SpringBoot如何實現自動裝配

在SpringBoot應用裡面只需要在啟動類上加上去加上 @SpringBootApplication 註解,就可以實現自動裝配, @SpringBootApplication 註解是一個複合註解,真正去實現自動裝配的註解是 @EnableAutoConfiguration

自動裝配的實現三個核心的關鍵技術

  1. 引入starter,啟動依賴元件的時候,元件裡面必須包含一個 @Confinguration 配置類,在這個配置類裡面,我們需要通過 @Bean 這個註解去宣告需要裝配到IOC容器裡面的Bean物件。
  1. 這個配置類是放在第三方jar包裡面,然後通過SpringBoot種約定優於配置,去把這個配置類的全路徑,放在 classpath:/META-NF/spring·factories 檔案裡面,SpriingBoot就可以知道第三方jar包裡面這個配置類的位置,這個步驟主要是用到了Spring裡面的 SpringFactoriesloader 來完成的
  1. SpringBoot拿到所有第三方jar包裡面宣告的配置類以後,再通過Spring提供 ImportSelector 這樣一個介面,來實現對這些配置類的動態載入,從而完成自動裝配

SpringBoot是約定優於配置這一理念下的一個產物,所以在很多地方都會看到這一類的思想,它的出現讓開發人員可以更加的聚焦在業務程式碼的編寫上,而不需要關心和業務無關的配置,自動裝配的思想在 SpringFramework3.X 版本里面的 @Eable 註解就已經有了實現的一個雛形, @Eable 註解是一個模組驅動的意思

只需要增加 @Eable 註解就能開啟某個功能,而不需要針對這個功能去做Bean的配置, @Eable 註解的底層也是去幫我們自動去完成這樣一個模組相關Bean的注入

版權宣告: 本文內容由阿里雲實名註冊使用者自發貢獻,版權歸原作者所有,阿里雲開發者社群不擁有其著作權,亦不承擔相應法律責任。具體規則請檢視《阿里雲開發者社群使用者服務協議》和《阿里雲開發者社群智慧財產權保護指引》。如果您發現本社群中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社群將立刻刪除涉嫌侵權內容。