SpringBoot載入資源方式及預設順序
阿新 • • 發佈:2021-07-13
注意:因為檔案內容可能被覆蓋,因此檔案應用在專案中的優先順序與檔案的載入順序相反。
一、同文件夾下載入properties檔案和yml檔案
springboot會首先載入類路徑下的application.yml檔案,然後會載入application.properties,如果兩者存在相同內容,properties檔案會對yml檔案的相同內容進行覆蓋
二、不同資料夾下同類配置檔案的載入順序
springboot中配置檔案可以放在類路徑中、類路徑下的config資料夾中以及專案根路徑中,專案根路徑的config資料夾中,
其載入的優先順序是類路徑(resources的root資料夾)>類路徑下的config資料夾>專案根路徑>專案根路徑下的config資料夾,當配置檔案中存在相同配置內容時(例如伺服器的埠號port),先載入的檔案內容會被覆蓋。
三、yml檔案多環境下配置
在實際開發中,存在有開發環境、測試環境等,可以通過yml檔案配置不同的開發環境。可以通過建立多個xml檔案(以-*區別),和多文件模組實現
1.建立多個xml檔案
建立一個application-test.yml和application-develop.yml,配置不同的開發環境,然後在application.yml中通過active的值進行區分。
2.多文件模組
在同一個yml中,不同的文件模組以---分割,profiles表示對應的名稱,例如:
表示兩種不同的環境。
四、靜態資原始檔引入的載入順序
預設情況下,SpringBoot從類路徑中(resources)名為/static,/public,/resources,或者/META-INF/resources的目錄中提供靜態內容。其載入的優先順序是public>static>resources