Spring Boot 可以省掉繁瑣配置文件,主要?dú)w因于它的注解。
1. @SpringBootApplication:
Spring Boot應(yīng)用標(biāo)注@SpringBootApplication在某個(gè)類上說(shuō)明這個(gè)類是SpringBoot的主配置類,SpringBoot就該運(yùn)行這個(gè)類的main方法。

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)配置才可以生效。

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

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)配置了)

通過(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)配置類替換了。


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