ホームページ >Java >&#&チュートリアル >Spring Boot で複数の外部構成ファイルをロードしてデフォルトをオーバーライドする方法

Spring Boot で複数の外部構成ファイルをロードしてデフォルトをオーバーライドする方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-28 14:14:16496ブラウズ

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

Spring Boot での複数の外部構成ファイルのロード

コンテキスト:

Spring Boot では、外部ファイルからプロパティをロードします。アプリケーションの構成と環境固有の設定の管理に不可欠です。この記事では、クラスパスに保存されているデフォルトの構成ファイルをオーバーライドしながら複数の外部構成ファイルをロードするという課題について説明します。

プロパティ解決について:

Spring Boot はロードの特定の順序に従います。プロパティの解決:

  • コマンドライン引数
  • Systemプロパティ
  • 環境変数
  • JAR 外部のアプリケーション プロパティ
  • JAR 内部のアプリケーション プロパティ
  • @PropertySource アノテーションによるプロパティ
  • デフォルトプロパティ

外部構成ファイルの追加:

外部構成ファイルをプロジェクトに追加するには、カンマを受け入れる 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 プロパティを使用します。

例:

2 つの外部構成ファイルをロードし、デフォルトのセットからのジョブ固有のプロパティ:

-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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。