Spring Boot ——@SpringBootApplication及其相關(guān)注解

Spring Boot 可以省掉繁瑣配置文件,主要?dú)w因于它的注解。

1. @SpringBootApplication:

Spring Boot應(yīng)用標(biāo)注@SpringBootApplication在某個(gè)類上說(shuō)明這個(gè)類是SpringBoot的主配置類,SpringBoot就該運(yùn)行這個(gè)類的main方法。

image.png
2. @SpringBootConfiguration:

Spring Boot的配置類,標(biāo)注在某個(gè)類上,表示這是一個(gè)Spring Boot的配置類;
@Configuration:在配置類上標(biāo)注這個(gè)注解,是原始spring的配置注解。

3. @EnableAutoConfiguration:

表示開(kāi)啟自動(dòng)配置功能,以前spring中我們需要配置的東西,現(xiàn)在Spring Boot幫我們自動(dòng)配置。@EnableAutoConfiguration告訴SpringBoot 開(kāi)啟自動(dòng)配置功能,這樣自動(dòng)配置才可以生效。

image.png
4. @AutoConfigurationPackage:

自動(dòng)配置包,在這個(gè)配置類上標(biāo)注@Import({Registrar.class}),就是將主配置類(@SpringBootApplication)的所有包及下面所有子包里面的所有組件掃描到spring容器。

image.png
5. @Import({AutoConfigurationImportSelector.class})

給容器自動(dòng)導(dǎo)入組件

AutoConfigurationImportSelector:導(dǎo)入哪些組件的選擇器。將所有需要導(dǎo)入的組件以全類名的方式返回,這些組件就會(huì)被添加到容器中,會(huì)給容器中導(dǎo)入非常多的配置類(xxxAutoConfiguration),這就是給容器中導(dǎo)入這個(gè)場(chǎng)景需要的所有組件,并配置好這些組件。

如圖:自動(dòng)配置類(有了這些配置類,就不需要我們手動(dòng)配置了)

image.png

通過(guò)調(diào)用SpringFactoriesLoader.loadFactoryNames(this.getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader()),在Spring Boot啟動(dòng)的時(shí)候從類路徑下的META-INF/spring.factories中獲取EnableAutoConfiguration指定的值,將這些值作為自動(dòng)配置類導(dǎo)入到容器中,自動(dòng)配置類就生效了。在Springboot中,我們以前的配置,都被這些自動(dòng)配置類替換了。

image.png
image.png

上一篇:Spring Boot ——Spring Boot 項(xiàng)目的創(chuàng)建
下一篇:Spring Boot ——Spring Boot配置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容