導航:首頁 > 文件管理 > spring的配置文件參數順序

spring的配置文件參數順序

發布時間:2024-10-31 22:32:40

A. springboot配置文件總結

springboot 本身支持多種靈活的配置方式,為開發 springboot 程序帶來了很大的靈活性和擴展性,但是同時由於太靈活,經常會導致明明配置了相關屬性,卻沒有生效。
本文總結了 springboot 配置文件的原理以及多個配置文件生效的順序。

springboot 配置文件支持靈活的路徑,以及靈活的文件名,用一個變數表達式總結如下:

部分源碼如下:

當滿足上述變數表達式的配置文件有多個時,會有一個配置的優先順序。假設

上面每個條件組合起來,則最多有配置文件如下,且順序從上到下:

獲取屬性時,按從上到下的順序遍歷由上述文件生成的屬性資源對象 PropertySource ,如果遇到匹配的key直接返回。
總結一下:就是如果同一個key的屬性只出現一次,則直接取該值即可。如果同一個key的屬性出現多次,則取順序靠前的屬性資源對象。另外其中每個文件都是可選的。

需要注意的一點是:如果在同一個 location 下配置了多個文件名一樣的文件,則只會取一個,比如在 classpath:/ ,有如下兩個文件 application.yml :

則只會根據 classloader 的 classpath 列表,選取第一個出現的文件。因為 springboot 載入配置文件時最底層是使用的下面的方法:

這兩個方法只會獲取 classloader 類的 ucp 屬性裡面第一個匹配到的值。如果對 springboot 自身的機制不滿意,想獲取所有的classpath:/路徑下面的 applicaiton.yml 文件,可以使用下面的方法:

本文總結了 springboot 配置文件的原理以及多個配置文件生效的順序。如果存在增加了配置文件或者在配置文件裡面增加了屬性卻沒有生效,可以參考上面的 springboot 配置文件表達式和配置文件生效順序進行排查。

後面還會有一篇文章討論基於 springboot 配置原理如何實現自定義的配置讀取方式。

B. springboot的配置文件有哪幾種

Spring Boot的配置文件主要有兩種:properties文件和yaml文件。
1. properties文件:這是Spring Boot的默認配置文件格式,它採用的是鍵值對的形式存儲配置信息,鍵值對之間通過等號「=」進行連接。比如:
arino
server.port=8080
spring.datasource.url=jdbc:mysql://localhost/test
這種格式的優點在於它的簡潔易讀,上手難度低。缺點則是當配置信息復雜且數量眾多時,容易變得混亂。
2. yaml文件:YAML是一種數據序列化格式,通常用於配置文件。Spring Boot也支持YAML格式的配置文件,它的文件擴展名通常為.yml或.yaml。YAML文件的結構更清晰,可以更好地組織復雜的配置信息。比如:
yml
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost/test
YAML文件的優點在於它的結構清晰,易於組織和管理復雜的配置信息。尤其是在處理多級配置的時候,YAML的層級結構能夠直觀地體現出配置的層級關系。缺點則是YAML的語法相較於properties稍顯復雜,對新手可能有一定的學習門檻。
總結:Spring Boot的這兩種配置文件格式各有優缺點,開發者可以根據自己的需求和習慣選擇合適的配置文件格式。對於簡單的配置信息,properties文件是一個不錯的選擇;而對於復雜的配置信息,YAML文件則能夠更好地進行組織和管理。

閱讀全文

與spring的配置文件參數順序相關的資料

熱點內容
以數據說話什麼意思 瀏覽:319
java中對象 瀏覽:794
酷狗網路機頂盒如何設置 瀏覽:408
threejs添加文字 瀏覽:436
微信春節理財通 瀏覽:948
qq主題模塊應用教程 瀏覽:993
javaweb項目打包 瀏覽:59
qq主題是哪個文件夾里 瀏覽:642
超越狂暴升級txt書包 瀏覽:263
cad復制不能粘貼到新建文件 瀏覽:565
linux網路socket編程 瀏覽:926
戰爭雷霆客戶端在哪個文件里 瀏覽:847
如何授權點淘app讀取步數 瀏覽:671
sonarqube代碼負責度 瀏覽:116
step7左面編程框怎麼調出來 瀏覽:348
wordpress文章字型大小 瀏覽:117
xp電腦正在識別網路怎麼回事 瀏覽:30
a9加密文件在哪裡找 瀏覽:69
從微信傳文件到電腦上嗎 瀏覽:684
更改文件名後 瀏覽:443

友情鏈接