SpringBootにおけるロード順序の設定方法
Spring Boot の設定読み込み順は、以下の手順で指定します。
- コマンドライン引数の読み込み順序。Spring Bootは、コマンドラインで指定された引数を最初に読み込みます。コマンドラインでは、–key=value の形式を使用して引数を指定できます。
- Spring Bootはapplication.propertiesまたはapplication.ymlファイルからプロパティをロードします。複数のファイルが存在する場合、それらは次の順序でロードされます: application-{profile}.propertiesまたはapplication-{profile}.yml > application.propertiesまたはapplication.yml。
- 外部属性文件加载顺序:Spring Boot可以加载外部的属性文件,可以通过使用spring.config.name和spring.config.location来指定属性文件的名称和路径。外部属性文件的加载顺序为:spring.config.name指定的文件 > spring.config.location指定的路径下的所有文件。
- コマンドラインパラメータの優先度:コマンドラインパラメータ、デフォルトプロパティファイル、外部プロパティファイルに同じプロパティが存在する場合、コマンドラインパラメータの優先度が最も高く、次いで外部プロパティファイル、最後にデフォルトプロパティファイルの優先度となります。
- コンフィグレーションクラスのロード順序:アプリケーション内でコンフィグレーションクラス(@Configuration アノテーションを使用)を定義した場合、そのコンフィグレーションクラス内のプロパティは既定のプロパティファイルと外部プロパティファイルのプロパティをオーバーライドします。
上記の手順により、Spring Bootで設定ファイルを読み込む順番を指定でき、異なる環境や必要性に応じて異なるプロパティファイルと設定を読み込むことができます。