Spring Boot のプロパティファイルの優先順位の構成
Spring Boot の設定ファイルの優先順位はファイルの配置とロード順によって決まり、優先順位は高いものから低いものへと以下のように並んでいる:
- コマンドラインパラメーターは、他の設定よりも優先されます。例えば、java -jar app.jar –server.port=8080 を使用すると、設定ファイル内の server.port プロパティを上書きできます。
- プロジェクトのルートディレクトリに、config/ディレクトリを作成します。config/ディレクトリに設定ファイルを作成すると、Spring Bootが自動的に設定ファイルを読み込みます。
- プロジェクトルートディレクトリ:application.properties や application.yml などの設定ファイルをプロジェクトルートディレクトリにそのまま配置します。
- classpath:/config/:クラスパス上のconfig/フォルダ内の設定ファイル。
- classpath:/: クラスパスのルートディレクトリ。
- デフォルト設定: Spring Bootから提供されるデフォルトの設定。
設定ファイルが複数ある場合、読み込まれた順に上書きされます。例えば、application.properties と application.yml が同時に存在する場合、application.yml の設定は application.properties の設定を上書きします。