關(guān)于SpringBoot配置文件加載位置的優(yōu)先級(jí)
一. 配置文件加載位置
1. springboot 啟動(dòng)會(huì)掃描以下位置的application.properties或者application.yml文件作為Spring boot的默認(rèn)配置文件
–file:./config/
–file:./
–classpath:/config/
–classpath:/
優(yōu)先級(jí)由高到底,高優(yōu)先級(jí)的配置會(huì)覆蓋低優(yōu)先級(jí)的配置;
Spring Boot會(huì)從這四個(gè)位置全部加載主配置文件,互補(bǔ)配置。
2. 我們也可以通過(guò)spring.config.location來(lái)改變默認(rèn)的配置文件位置。項(xiàng)目打包好后,我們可以通過(guò)命令行的方式在啟動(dòng)時(shí)指定配置文件的位置。指定配置文件與默認(rèn)加載的這些配置文件共同起作用形成互補(bǔ)配置。
eg: java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --spring.config.location=G:/application.properties
二. 外部配置加載順序
SpringBoot也可以從以下位置加載配置; 優(yōu)先級(jí)從高到低;高優(yōu)先級(jí)的配置覆蓋低優(yōu)先級(jí)的配置,所有的配置會(huì)形成互補(bǔ)配置。
1.命令行參數(shù)
所有的配置都可以在命令行上進(jìn)行指定
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8087 --server.context-path=/abc
多個(gè)配置用空格分開; --配置項(xiàng)=值
2.來(lái)自java:comp/env的JNDI屬性
3.Java系統(tǒng)屬性(System.getProperties())
4.操作系統(tǒng)環(huán)境變量
5.RandomValuePropertySource配置的random.*屬性值由jar包外向jar包內(nèi)進(jìn)行尋找; 優(yōu)先加載帶profile
6.jar包外部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
7.jar包內(nèi)部的application-{profile}.properties或application.yml(帶spring.profile)配置文件再來(lái)加載不帶profile
8.jar包外部的application.properties或application.yml(不帶spring.profile)配置文件
9.jar包內(nèi)部的application.properties或application.yml(不帶spring.profile)配置文件
10.@Configuration注解類上的@PropertySource
11.通過(guò)SpringApplication.setDefaultProperties指定的默認(rèn)屬性,所有支持的配置加載來(lái)源;
到此這篇關(guān)于關(guān)于SpringBoot配置文件加載位置的優(yōu)先級(jí)的文章就介紹到這了,更多相關(guān)SpringBoot配置文件加載優(yōu)先級(jí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java獲取request中的參數(shù)以及java解析URL問(wèn)號(hào)后的參數(shù)
這篇文章主要介紹了java獲取request中的參數(shù)以及java解析URL問(wèn)號(hào)后的參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12SpringAOP實(shí)現(xiàn)日志收集管理功能(步驟詳解)
這篇文章主要介紹了SpringAOP實(shí)現(xiàn)日志收集管理功能,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03mybatis動(dòng)態(tài)sql之新增與更新方式
這篇文章主要介紹了mybatis動(dòng)態(tài)sql之新增與更新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07IntelliJ IDEA編譯項(xiàng)目報(bào)錯(cuò) "xxx包不存在" 或 "找不到符號(hào)"
這篇文章主要介紹了IntelliJ IDEA編譯項(xiàng)目報(bào)錯(cuò) "xxx包不存在" 或 "找不到符號(hào)" ,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08