Springboot主程序類注解配置過程圖解
@SpringBootApplication
點進這個注解看

進去第一個注解@SpringBootConfiguration看,上面有Configuration注解

@Configuration 這是Spring的配置類注解, 說明這個類一個配置類,里面都是配置文件
進第二個注解@EnableAutoConfiguration, 顧名思義,這是允許自動配置生效的注解, 接下來進去看它。
@EnableAutoConfiguration

進去后也有兩個注解:第一個AutoConfigurationPackage,進去看
里面有這個注解,@Import({Registrar.class}) @Import是spring的底層注解,作用是給Spring導入一個Registrar組件
進去看Registrar


將主配置類所在的包以及以下的包里的所有組件,掃描到Spring容器中。
第二個@Import({AutoConfigurationImportSelector.class})
進AutoConfigurationImportSelector里看,


這個configurations數(shù)組是我們需要導入的組件。看看configurations有什么,
實際上是將所有需要導入的組件以類全名的方式返回,這些組件會導入到容器中

能看到是從META-INF/spring.factories里獲取EnableAutoConfiguration指定的值,將這些值作為自動配置類導入到容器中,自動配置類就生效,幫我們完成自動配置工作:

看看spring.factories里有什么,有非常多的自動配置類 XXXAutoCOnfiguration(這里就不進去看了),@Import({AutoConfigurationImportSelector.class})就是給容器中導入這個場景需要的所有組件并且配置好

注意spring-boot-autoconfigure.jar包。這里面有所有自動配置的組件

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Docker搭建前端Java的開發(fā)環(huán)境詳解
相信每個人入職第一天就是搭建本地開發(fā)環(huán)境,因為我司用的是java,看見了多年不見的eclipse的圖標出現(xiàn)我的電腦上,我是難過的。后來知道并不是我一個人有此感受。這篇文章是為了解決前后端開發(fā)沒有徹底分離的坑,詳細的給大家介紹了利用Docker搭建前端Java的開發(fā)環(huán)境。2016-10-10
淺析打開eclipse出現(xiàn)Incompatible JVM的解決方法
本篇文章是對打開eclipse出現(xiàn)Incompatible JVM的解決方法進行了詳細的分析介紹,需要的朋友參考下2013-07-07
SpringMVC攔截器的實現(xiàn)和作用及Redis登陸功能的優(yōu)化詳解
這篇文章主要介紹了Java項目SpringMVC攔截器+Redis優(yōu)化登錄功能實現(xiàn)過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-09-09
MyBatis-Plus通用枚舉自動關聯(lián)注入的實現(xiàn)
本文主要介紹了MyBatis-Plus通用枚舉自動關聯(lián)注入的實現(xiàn),解決了繁瑣的配置,讓 mybatis 優(yōu)雅的使用枚舉屬性,感興趣的可以一起來了解一下2021-06-06

