SpringBootでは、指定された構成ファイルを読み込むためにどうするの?

Spring Bootは通常、application.properties または application.yml の設定ファイルを読み取ります。他の指定した設定ファイルを読み込む場合は、application.properties または application.yml ファイルで spring.config.name または spring.config.location プロパティを設定することによって指定できます。

  1. application.properties または application.yml ファイルで `spring.config.name` プロパティを設定し、値を拡張子を含まない読み取りたい構成ファイルの名前にします。例えば、myconfig.properties ファイルから読み取りたい場合、application.properties ファイルに以下を追加します。
spring.config.name=myconfig
  1. デフォルトのクラスパスディレクトリに設定ファイルがない場合、さらに spring.config.location の設定を追加する必要があります。この設定には、設定ファイルの絶対パスか、クラスパスからの相対パスを指定します。例えば、設定ファイルが /opt/config/myconfig.properties 内にある場合、application.properties ファイルで以下のような設定を追加します。
spring.config.name=myconfig
spring.config.location=file:/opt/config/

あるいは、クラスパス直下の config/ ディレクトリにある場合、 application.properties ファイルに以下を追加することもできます。

spring.config.name=myconfig
spring.config.location=classpath:config/

注意:もし spring.config.name と spring.config.location プロパティを同時に設定した場合、Spring Boot は最初に spring.config.location で指定したパスのファイルを探し、見つからなければクラスパスにあるファイルを探します。

  1. @PropertySource アノテーションを使って指定した設定ファイルを読み込むには、コンフィグレーション・クラスに @PropertySource アノテーションを追加し、読み込む設定ファイルのパスを指定します。たとえば、myconfig.properties ファイルを読み込むには、コンフィグレーション・クラスに次のアノテーションを追加します。
@Configuration
@PropertySource("classpath:myconfig.properties")
public class MyConfig {
    // ...
}

構成予定ファイルを読み取る方法をいくつかご紹介しました。ニーズに応じて適切な方法を選択してください。

bannerAds