首頁 > Java > java教程 > 如何在 Spring Boot 中載入多個外部設定檔並覆蓋預設值?

如何在 Spring Boot 中載入多個外部設定檔並覆蓋預設值?

Barbara Streisand
發布: 2024-11-28 14:14:16
原創
522 人瀏覽過

How to Load Multiple External Configuration Files and Override Defaults in Spring Boot?

在Spring Boot 中載入多個外部設定檔

上下文:

在Spring Boot 中,從外部檔案載入屬性是對於配置應用程式和管理特定於環境的設定至關重要。本文解決了載入多個外部設定檔同時覆蓋類別路徑中儲存的預設設定檔的挑戰。

理解屬性解析:

Spring Boot 遵循特定的加載順序和解析屬性:

  • 命令行參數
  • 系統屬性
  • 環境變數
  • JAR外部的應用程式屬性
  • JAR 內部的應用程式屬性
  • 透過 @PropertySource註解的屬性
  • 預設properties

新增外部設定檔:

要將外部設定檔新增至專案中,請使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板