Spring bootでymlファイルの内容を読み込む方法は?
Spring Bootでは@ConfigurationPropertiesアノテーションを使ってymlファイルの内容を読み込むことができる。
まず、Spring Bootアプリケーションに@Configurationアノテーション付きの設定クラスを作成し、@ConfigurationPropertiesアノテーションを使用して読込対象となるymlファイルのプレフィックスを指定します。
たとえば、ymlファイルをapplication.ymlとし、内容は次のとおりです。
myconfig:
name: "John"
age: 30
MyConfigという設定クラスを作成できます。以下のようになります。
@Configuration
@ConfigurationProperties(prefix = "myconfig")
public class MyConfig {
private String name;
private int age;
// 省略getter和setter方法
@Override
public String toString() {
return "MyConfig [name=" + name + ", age=" + age + "]";
}
}
次に、その設定クラスをアプリケーションに@Autowiredで注入し、そのプロパティを使用します。
@SpringBootApplication
public class MyApp {
@Autowired
private MyConfig myConfig;
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
@Override
public void run(String... args) throws Exception {
System.out.println(myConfig);
}
}
そのアプリケーションを実行すると、設定クラスのプロパティーの値が印字されます。
ネイティブの日本語で、1 つのオプションで文を言い換えてください。
MyConfig [name=John, age=30]
これで、yml ファイルに記述された内容を正常に読み込むことができました。