Spring Bootで外部ymlファイルを読み込む方法は?
外部のymlファイルを読み込むには、以下の手順で行えます。1. `ExternalConfig.java`など新しい設定クラスを作成し、`@Configuration`アノテーションを使用してそのクラスを設定クラスとしてマークします。 2. 設定クラスで、`@PropertySource`アノテーションを使用して外部のymlファイルのパスを指定します。例えば、外部のymlファイルの名前が `external.yml`で、プロジェクトのルートディレクトリの `config`フォルダにある場合、アノテーションは次のようになります。
@Configuration
@PropertySource("classpath:config/external.yml")
public class ExternalConfig {
}
例えば、外部のymlファイルにある値を `MyService.java`クラスで値を注入する場合は以下のようになります。
@Service
public class MyService {
@Value(“${external.property}”)
private String externalProperty;
// … }
アプリケーションの入口クラス、つまり @SpringBootApplication アノテーションが記載されたクラスに、@Import アノテーションを追加して上記 ExternalConfig クラスを取り込みます。例:
@SpringBootApplication
@Import(ExternalConfig.class)
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
} }
外部 yml ファイルを読み込んで、設定値を該当するクラスに注入するように Spring Boot が構成されます。