Spring Boot 可以省掉繁瑣配置文件,主要歸因于它的注解侯繁。
1. @SpringBootApplication:
Spring Boot應(yīng)用標(biāo)注@SpringBootApplication在某個類上說明這個類是SpringBoot的主配置類锉走,SpringBoot就該運行這個類的main方法。
2. @SpringBootConfiguration:
Spring Boot的配置類,標(biāo)注在某個類上抗楔,表示這是一個Spring Boot的配置類俊扭;
@Configuration:在配置類上標(biāo)注這個注解队橙,是原始spring的配置注解。
3. @EnableAutoConfiguration:
表示開啟自動配置功能,以前spring中我們需要配置的東西捐康,現(xiàn)在Spring Boot幫我們自動配置仇矾。@EnableAutoConfiguration告訴SpringBoot 開啟自動配置功能,這樣自動配置才可以生效解总。
4. @AutoConfigurationPackage:
自動配置包贮匕,在這個配置類上標(biāo)注@Import({Registrar.class}),就是將主配置類(@SpringBootApplication)的所有包及下面所有子包里面的所有組件掃描到spring容器花枫。
5. @Import({AutoConfigurationImportSelector.class})
給容器自動導(dǎo)入組件
AutoConfigurationImportSelector:導(dǎo)入哪些組件的選擇器刻盐。將所有需要導(dǎo)入的組件以全類名的方式返回,這些組件就會被添加到容器中劳翰,會給容器中導(dǎo)入非常多的配置類(xxxAutoConfiguration)敦锌,這就是給容器中導(dǎo)入這個場景需要的所有組件,并配置好這些組件佳簸。
如圖:自動配置類(有了這些配置類乙墙,就不需要我們手動配置了)
通過調(diào)用SpringFactoriesLoader.loadFactoryNames(this.getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader()),在Spring Boot啟動的時候從類路徑下的META-INF/spring.factories中獲取EnableAutoConfiguration指定的值生均,將這些值作為自動配置類導(dǎo)入到容器中听想,自動配置類就生效了。在Springboot中马胧,我們以前的配置汉买,都被這些自動配置類替換了。
上一篇:Spring Boot ——Spring Boot 項目的創(chuàng)建
下一篇:Spring Boot ——Spring Boot配置