Springboot主程序類注解配置過程圖解
@SpringBootApplication
點(diǎn)進(jìn)這個(gè)注解看
進(jìn)去第一個(gè)注解@SpringBootConfiguration看,上面有Configuration注解
@Configuration 這是Spring的配置類注解, 說明這個(gè)類一個(gè)配置類,里面都是配置文件
進(jìn)第二個(gè)注解@EnableAutoConfiguration, 顧名思義,這是允許自動(dòng)配置生效的注解, 接下來進(jìn)去看它。
@EnableAutoConfiguration
進(jìn)去后也有兩個(gè)注解:第一個(gè)AutoConfigurationPackage,進(jìn)去看
里面有這個(gè)注解,@Import({Registrar.class}) @Import是spring的底層注解,作用是給Spring導(dǎo)入一個(gè)Registrar組件進(jìn)去看Registrar
將主配置類所在的包以及以下的包里的所有組件,掃描到Spring容器中。
第二個(gè)@Import({AutoConfigurationImportSelector.class})
進(jìn)AutoConfigurationImportSelector里看,
這個(gè)configurations數(shù)組是我們需要導(dǎo)入的組件。看看configurations有什么,
實(shí)際上是將所有需要導(dǎo)入的組件以類全名的方式返回,這些組件會(huì)導(dǎo)入到容器中
能看到是從META-INF/spring.factories里獲取EnableAutoConfiguration指定的值,將這些值作為自動(dòng)配置類導(dǎo)入到容器中,自動(dòng)配置類就生效,幫我們完成自動(dòng)配置工作:
看看spring.factories里有什么,有非常多的自動(dòng)配置類 XXXAutoCOnfiguration(這里就不進(jìn)去看了),@Import({AutoConfigurationImportSelector.class})就是給容器中導(dǎo)入這個(gè)場景需要的所有組件并且配置好
注意spring-boot-autoconfigure.jar包。這里面有所有自動(dòng)配置的組件
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 前端從瀏覽器的渲染到性能優(yōu)化2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. 利用CSS3新特性創(chuàng)建透明邊框三角4. 讀大數(shù)據(jù)量的XML文件的讀取問題5. 解析原生JS getComputedStyle6. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁7. css代碼優(yōu)化的12個(gè)技巧8. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)9. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))10. PHP循環(huán)與分支知識點(diǎn)梳理
