Springboot常用注解及配置文件加載順序詳解
Springboot常用注解及底層實(shí)現(xiàn)
1、@SpringBootApplication:這個(gè)注解標(biāo)識(shí)了一個(gè)SpringBoot工程,她實(shí)際上是另外三個(gè)注解的組合,分別是:
@SpringBootConfiguration:源碼可以看到,這個(gè)注解除了元注解外,實(shí)際就只有一個(gè)@Configuration,把該類變成一個(gè)配置類,表示啟動(dòng)類也是一個(gè)配置類;
@EnableAutoConfiguration:是開啟自動(dòng)配置的功能,向Spring容器中導(dǎo)入了一個(gè)Selector,用來加載ClassPath下SpringFactories中所定義的自動(dòng)配置類,將這些自動(dòng)加載為配置Bean;
由@AutoConfigurationPackage和@Import組成,前者表示讓包中的類能夠被自動(dòng)掃描到spring容器中;使用import是往Spring容器中導(dǎo)入一個(gè)組件,將主配置類的所在包及子包所有組件掃描加載到Spring容器;
Springboot在啟動(dòng)的時(shí)候,從類路徑下的META-INF/spring.factories中獲取EnableAutoConfiguration指定的值,將這些值作為自動(dòng)配置類導(dǎo)入到容器中,自動(dòng)配置類就生效,幫我們進(jìn)行自動(dòng)配置工作。以前需要我們自己配置的東西,自動(dòng)配置類都幫我們完成了。
@ComponentScan:標(biāo)識(shí)掃描路徑,因?yàn)槟J(rèn)是沒有配置實(shí)際掃描路徑的,所以SpringBoot掃描的路徑是啟動(dòng)類所在的當(dāng)前目錄;
2、@Bean注解:用來定義Bean,類似于XML中的<bean>標(biāo)簽,Spring在啟動(dòng)時(shí),會(huì)對(duì)加了@Bean注解的方法進(jìn)行解析,將方法的名字作為beanName,并通過執(zhí)行方法得到bean對(duì)象;
3、@Controller、@Service、@ResponseBody、@Autowired
Springboot中配置文件的加載順序
優(yōu)先級(jí)從高到低,高優(yōu)先級(jí)的配置覆蓋低優(yōu)先級(jí)的配置,所有配置會(huì)形成互補(bǔ)配置;
1、命令行參數(shù)。所有的配置都可以在啟動(dòng)命令行上進(jìn)行指定;
2、Java系統(tǒng)屬性(System.getProperties)
3、操作系統(tǒng)環(huán)境變量;
4、jar包外部的application-{profile}.properties或.yml配置文件;可以通過制定配置文件的方式:
--spring.config.location=/bdl/application.properties
5、jar包內(nèi)部的配置文件;
6、@Configuration注解類上的@PropertySource
到此這篇關(guān)于Springboot常用注解及配置文件加載順序詳解的文章就介紹到這了,更多相關(guān)Springboot常用注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java?常規(guī)輪詢長輪詢Long?polling實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了java?常規(guī)輪詢長輪詢Long?polling實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Java輸入三個(gè)整數(shù)并把他們由小到大輸出(x,y,z)
這篇文章主要介紹了輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出,需要的朋友可以參考下2017-02-02idea配置檢查XML中SQL語法及書寫sql語句智能提示的方法
idea連接了數(shù)據(jù)庫,也可以執(zhí)行SQL查到數(shù)據(jù),但是無法識(shí)別sql語句中的表導(dǎo)致沒有提示,下面這篇文章主要給大家介紹了關(guān)于idea配置檢查XML中SQL語法及書寫sql語句智能提示的相關(guān)資料,需要的朋友可以參考下2023-03-03Java構(gòu)造代碼塊,靜態(tài)代碼塊原理與用法實(shí)例分析
這篇文章主要介紹了Java構(gòu)造代碼塊,靜態(tài)代碼塊,結(jié)合實(shí)例形式分析了Java構(gòu)造代碼塊,靜態(tài)代碼塊的功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(48)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-08-08Javaweb 鼠標(biāo)移入移出表格顏色變化的實(shí)現(xiàn)
這篇文章主要介紹了Javaweb 鼠標(biāo)移入移出表格顏色變化的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09