SpringBoot的配置文件application.yml及加載順序詳解
SpringBoot配置文件application.yml及加載順序
配置文件分類
1. SpringBoot中4級配置文件
- 1級(工程路徑config目錄配置文件):file:config/application.yml [最高]
- 2級(工程路徑目錄配置文件):file:application.yml
- 3級(項目類路徑config目錄配置文件):classpath:config/application.yml
- 4級(項目類路徑目錄配置文件):classpath:application.yml [最低]
2. 作用:
- 1級與2級留做系統(tǒng)打包后設置通用屬性,1級常用于運維經理進行線上整體項目部署方案調控,2級服務于運維人員配置涉密線上環(huán)境
- 3級和4級用于系統(tǒng)開發(fā)階段設置通用屬性,3級常用于項目經理進行整體項目屬性調控,4級服務于開發(fā)人員本機開發(fā)與測試
3. 注意:
多層級配置文件間的屬性采用疊加并覆蓋的形式作用于程序。
自定義配置文件
1. 配置文件可以修改名稱,通過啟動參數設定
Program arguments:? ----spring.config.name=myapplication
2. 配置文件可以修改路徑,通過啟動參數設定
3.微服務開發(fā)中配置文件通過配置中心進行設置
配置文件總結
1. SpringBoot在開發(fā)和運行環(huán)境均支持使用臨時參數修改工程配置
2. SpringBoot支持4級配置文件,應用于開發(fā)與線上環(huán)境進行配置的靈活設置
3. SpringBoot支持使用自定義配置文件的形式修改配置文件存儲位置
4.基于微服務開發(fā)時配置文件將使用配置中心進行管理
Springboot中application.yml、application.properties和bootStrap.yml加載順序
SpringApplication位于項目根目錄
所以所有得代碼要和SpringApplication所在目錄平級或下一級
以jar包發(fā)布springboot項目時
默認會先使用jar包跟目錄下的application.properties來作為項目配置文件。
如果在不同的目錄中存在多個配置文件,它的讀取順序是:
- 1、config/application.properties(項目根目錄中config目錄下)
- 2、config/application.yml
- 3、application.properties(項目根目錄下)
- 4、application.yml
- 5、resources/config/application.properties(項目resources目錄中config目錄下)
- 6、resources/config/application.yml
- 7、resources/application.properties(項目的resources目錄下)
- 8、resources/application.yml
注:
1、如果同一個目錄下,有application.yml也有application.properties,默認先讀取application.properties。
2、如果同一個配置屬性,在多個配置文件都配置了,默認使用第1個讀取到的,后面讀取的不覆蓋前面讀取到的。
3、創(chuàng)建SpringBoot項目時,一般的配置文件放置在“項目的resources目錄下”?????
4、先后加載順序:若application 和bootstrap 在同一目錄下:bootstrap先加載 application后加載
若application.yml 和bootStrap.yml 在同目錄下
則bootStrap.yml 的加載順序要于application.yml,即bootStrap.yml 會優(yōu)先被加載。
原理:
bootstrap.yml 于應程序上下的引導階段。
bootstrap.yml 由Spring ApplicationContext加載。
- bootstrap.yml 可以理解成系統(tǒng)級別的?些參數配置,這些參數?般是不會變動的。
- application.yml 可以?來定義應?級別的,如果搭配 spring-cloud-config 使用 application.yml 定義的文件可以實現動態(tài)替換。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java之SpringCloud Eurka注冊錯誤解決方案
這篇文章主要介紹了Java之SpringCloud Eurka注冊錯誤解決方案,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-07-07
SpringBoot項目調優(yōu)及垃圾回收器的比較詳解
這篇文章主要介紹了SpringBoot項目調優(yōu)及垃圾回收器的比較詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04

