SpringBoot配置檔案優先順序載入順序

Genee發表於2018-11-07

配置檔案優先順序從高到低順序↓

  • file:./config/ - 優先順序最高(專案根路徑下的config
  • file:./ - 優先順序第二 -(專案根路徑下)
  • classpath:/config/ - 優先順序第三(專案resources/config下)
  • classpath:/ - 優先順序第四(專案resources根目錄)

SpringBoot專案啟動會去掃面專案以上目錄位置的application.ymlapplication.properties檔案

以上位置的application.ymlapplication.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
複製程式碼

這對於運維來說非常方便,在不破壞原配置情況下輕鬆修改少量配置就可以達到想要的效果

相關文章