Spring Boot は複数の外部構成ファイルとその優先順位をどのように管理しますか?

Mary-Kate Olsen
リリース: 2024-11-26 04:08:07
オリジナル
330 人が閲覧しました

How Does Spring Boot Manage Multiple External Configuration Files and Their Precedence?

Spring Boot での複数の外部構成ファイルの管理

Spring Boot を使用すると、外部構成ファイルからのプロパティのロードが容易になります。ただし、複数のファイルを効果的に管理するには、優先順位とオーバーライドのメカニズムを理解することが重要です。

外部構成ファイルの優先順位

Spring Boot はプロパティ ファイルを特定の順序で読み取り、後続のファイルは以前に設定されたプロパティをオーバーライドします。もの。デフォルトの優先順位は次のとおりです。

  1. コマンド ライン引数
  2. システム プロパティ
  3. 環境変数
  4. jar 外部のアプリケーション プロパティ (例: アプリケーション) .properties, application.yml)
  5. jar 内のアプリケーション プロパティ(例: application.properties、application.yml)

spring.config.location プロパティ

外部プロパティ ファイルを指定するには、spring.config.location プロパティを使用します。このプロパティは、ファイルの場所またはディレクトリのカンマ区切りのリストを受け入れます。

例:

-Dspring.config.location=my-config/,classpath:additional.properties
ログイン後にコピー

ファイルの場所:

  • my-config/ (application.properties または他の有効なファイルを含むディレクトリ) extensions)
  • classpath:/Additional.properties (クラスパス上にあるファイル)

spring.config.Additional-location Property

Spring Boot 2.x の場合spring.config.Additional-location プロパティは、デフォルトをオーバーライドせずに外部構成ファイルを追加するために使用されます。これは、デフォルトを spring.config.location に置き換えた 1.x からの変更です。

例:

-Dspring.config.additional-location=my-additional-config/
ログイン後にコピー

デフォルト プロパティのオーバーライド

デフォルトのプロパティを外部ファイルでオーバーライドするには、外部ファイルにデフォルトのプロパティと同じ名前のプロパティが含まれていることを確認してください。外部ファイルは、spring.config.location または spring.config.Additional-location を使用して含める必要があります。

ワークスペース構成に関する考慮事項

ワークスペース構成のコンテキスト (例: 外部構成の使用)現在の作業ディレクトリ内のフォルダー)、-Dspring.config.location=file:./config を使用してフォルダーの場所を指定します。これにより、ワークスペース構成フォルダーがデフォルトのプロパティよりも優先されます。

カスタム プロパティの解決

カスタム プロパティの解決メカニズムも実装できます。たとえば、@Configuration クラスで @PropertySource アノテーションを使用して、カスタム プロパティの場所を指定できます。ただし、カスタム プロパティは、デフォルトまたは外部構成ファイルに設定されているプロパティをオーバーライドすることに注意してください。

以上がSpring Boot は複数の外部構成ファイルとその優先順位をどのように管理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート