上下文:
在Spring Boot 中,從外部檔案載入屬性是對於配置應用程式和管理特定於環境的設定至關重要。本文解決了載入多個外部設定檔同時覆蓋類別路徑中儲存的預設設定檔的挑戰。
理解屬性解析:
Spring Boot 遵循特定的加載順序和解析屬性:
新增外部設定檔:
要將外部設定檔新增至專案中,請使用spring .config.location 屬性,該屬性接受逗號-分隔的路徑或目錄清單。
Spring Boot 1.x:
在 Spring Boot 1.x 中, spring.config.location 屬性只是擴充了現有的預設檔案清單。這意味著除非明確指定,否則外部文件不會覆蓋任何預設值。
Spring Boot 2.x 及更高版本:
在 Spring Boot 2.x 及更高版本中, spring.config.location 的行為已更改。現在它會覆寫預設屬性而不是附加到它們。若要在新增外部配置時保留預設配置,請使用 spring.config.additional-location 屬性。
範例:
載入兩個外部設定檔並覆寫預設集中的特定作業的屬性:
-Dspring.config.location=classpath:job1.properties,classpath:job2.properties -Dspring.config.additional-location=classpath:/src/main/resources/defaults.properties
在本例中,job1.properties 和job2.properties檔案將覆寫defaults.properties 中定義的任何與作業相關的屬性。 defaults.properties 中的其餘屬性將被保留。
以上是如何在 Spring Boot 中載入多個外部設定檔並覆蓋預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!