Springboot主程序類注解配置過程圖解
@SpringBootApplication
點進這個注解看
進去第一個注解@SpringBootConfiguration看,上面有Configuration注解
@Configuration 這是Spring的配置類注解, 說明這個類一個配置類,里面都是配置文件
進第二個注解@EnableAutoConfiguration, 顧名思義,這是允許自動配置生效的注解, 接下來進去看它。
@EnableAutoConfiguration
進去后也有兩個注解:第一個AutoConfigurationPackage,進去看
里面有這個注解,@Import({Registrar.class}) @Import是spring的底層注解,作用是給Spring導入一個Registrar組件進去看Registrar
將主配置類所在的包以及以下的包里的所有組件,掃描到Spring容器中。
第二個@Import({AutoConfigurationImportSelector.class})
進AutoConfigurationImportSelector里看,
這個configurations數組是我們需要導入的組件。看看configurations有什么,
實際上是將所有需要導入的組件以類全名的方式返回,這些組件會導入到容器中
能看到是從META-INF/spring.factories里獲取EnableAutoConfiguration指定的值,將這些值作為自動配置類導入到容器中,自動配置類就生效,幫我們完成自動配置工作:
看看spring.factories里有什么,有非常多的自動配置類 XXXAutoCOnfiguration(這里就不進去看了),@Import({AutoConfigurationImportSelector.class})就是給容器中導入這個場景需要的所有組件并且配置好
注意spring-boot-autoconfigure.jar包。這里面有所有自動配置的組件
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: