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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動(dòng)庫2. 每日六道java新手入門面試題,通往自由的道路--多線程3. ASP.NET泛型三之使用協(xié)變和逆變實(shí)現(xiàn)類型轉(zhuǎn)換4. AJAX實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)效果5. 快速解決ajax返回值給外部函數(shù)的問題6. ASP.NET MVC視圖頁使用jQuery傳遞異步數(shù)據(jù)的幾種方式詳解7. jsp文件下載功能實(shí)現(xiàn)代碼8. 每日六道java新手入門面試題,通往自由的道路9. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法10. SpringBoot+SpringCache實(shí)現(xiàn)兩級(jí)緩存(Redis+Caffeine)
