上一篇博客寫了一個springboot項目的小demo,儘管是一個小demo但是可以將springboot的原理可以概括一下,springboot的核心其實就是項目當中的入口類App.java和@SpringBootApplication註解。入口類中有一個main方法,這是一個Java應用程序的入口方法。
那麼其自動配置的運行原理是怎麼樣子的呢?
(1)關於@SpringBootApplication這個註解,其實這個註解是一個組合註解,因爲這個註解類的底層是包含@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan等幾個重要的註解,
1.其中@SpringBootConfiguration是一個配置註解,同時也是一個組合註解,springboot項目中使用SpringBootConfiguration替代@Configuration
2.@EnableAutoConfiguration開啓自動配置類,SpringBoot的精華所在,自動配置的功能也是取決於這個註解。
3.@ComponentScan包掃描
以前需要自己在xml中配置的東西,springboot基本上自動幫忙配置了。
(2)接着分析@EnableAutoConfiguration註解
@EnableAutoConfiguration是一個組合註解,其底層也是包含@AutoConfigurationPackage和@Import
分析到這裏大家可能有點看不懂了,我直接把我抄的學習筆記截圖端上來,看筆記可能更清晰
第一個@AutoConfigurationPackage
第二個註解@Import,對設計模式比較瞭解的,這種類圖應該看得懂。
整個過程就是springboot自動配置的奧祕,後面會加上一些其他的依賴,當前的spring.factories中的自動配置比較少。
覺得內容哪裏不對的的可以留言評論。