溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot加載配置文件順序是怎樣的

發布時間:2020-07-02 15:34:14 來源:億速云 閱讀:203 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關springboot加載配置文件順序是怎樣的,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、目錄結構

Application屬性文件,按優先級排序,位置高的將覆蓋位置

  • 當前項目目錄下的一個/config子目錄
  • 當前項目目錄
  • 項目的resources即一個classpath下的/config包
  • 項目的resources即classpath根路徑(root)

springboot加載配置文件順序是怎樣的

二、讀取順序

如果在不同的目錄中存在多個配置文件,它的讀取順序是:

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~8 個位置 分別定義不同的 server 端口號 9001~9008

即可驗證結果順序

注:

1、如果同一個目錄下,有application.yml也有application.properties,默認先讀取application.properties。

2、如果同一個配置屬性,在多個配置文件都配置了,默認使用第1個讀取到的,后面讀取的不覆蓋前面讀取到的。

3、創建SpringBoot項目時,一般的配置文件放置在項目的resources目錄下,因為配置文件的修改,通過熱部署不用重新啟動項目,而熱部署的作用范圍是classpath下

三、配置文件的生效順序,會對值進行覆蓋

  • @TestPropertySource 注解
     
  • 命令行參數
  • Java系統屬性(System.getProperties())
  • 操作系統環境變量
  • 只有在random.*里包含的屬性會產生一個RandomValuePropertySource
  • 在打包的jar外的應用程序配置文件(application.properties,包含YAML和profile變量)
  • 在打包的jar內的應用程序配置文件(application.properties,包含YAML和profile變量)
  • 在@Configuration類上的@PropertySource注解
  • 默認屬性(使用SpringApplication.setDefaultProperties指定)
     

四、配置隨機值

roncoo.secret={random.value} roncoo.number={random.int}
roncoo.bignumber={random.long} roncoo.number.less.than.ten={random.int(10)}
roncoo.number.in.range=${random.int[1024,65536]}

讀取使用注解:@Value(value = "${roncoo.secret}")

注:出現黃點提示,是要提示配置元數據,可以不配置

五、屬性占位符

當application.properties里的值被使用時,它們會被存在的Environment過濾,所以你能夠引用先前定義的值(比如,系統屬性)
roncoo.name = www.roncoo.com
roncoo.desc = ${roncoo.name} is a domain name

六、其他配置的介紹

端口配置

server.port=8090

時間格式化

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

時區設置

spring.jackson.time-zone=Asia/Chongqing

關于springboot加載配置文件順序是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女