配置檔案優先順序從高到低順序↓
file:./config/
- 優先順序最高(專案根路徑下的config
)file:./
- 優先順序第二 -(專案根路徑下)classpath:/config/
- 優先順序第三(專案resources/config
下)classpath:/
- 優先順序第四(專案resources
根目錄)
SpringBoot專案啟動會去掃面專案以上目錄位置的
application.yml
或application.properties
檔案
以上位置的application.yml
或application.properties
遵循:
-
高優先順序配置
會覆蓋低優先順序配置
-
多個配置檔案
互補
- 比如,兩個同名檔案裡面有相同的配置,相同的配置會被高優先順序的配置覆蓋
A配置優先順序大於B配置
server: port: 8080 複製程式碼
B配置優先順序小於A配置
server: port: 8081 context-path: /test 複製程式碼
專案啟動後訪問地址為:
http://localhost:8080/test
,這就是所謂的互補
專案打包執行後可通過命令指定配置檔案位置
--spring.config.location=d:/application.properties
複製程式碼
- 例項
java -jar demo-xxx.jar --spring.config.location=d:/application.properties
複製程式碼
這對於運維來說非常方便,在不破壞原配置情況下輕鬆修改少量配置就可以達到想要的效果