Java では、@ConfigurationProperties アノテーションは、構成ファイル内のプロパティをクラスにバインドするために Spring Boot フレームワークによって提供されるアノテーションです。
構成ファイル内の属性値は、 @ConfigurationProperties アノテーションを通じてクラスのプロパティに挿入できるため、構成ファイルを手動で読み取る必要がなくなります。
@ConfigurationProperties アノテーションを使用する場合は、クラスに @Component アノテーションを追加してコンポーネント化し、次に @ConfigurationProperties アノテーションを追加して、バインドする構成ファイル属性のプレフィックスを指定する prefix 属性を指定する必要があります。
サンプルコード:
package com.example.springbootinit;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
上記の例では、@Component アノテーションが追加され、@ConfigurationProperties アノテーションを使用して、構成ファイル内の「person」という接頭辞が付いているプロパティを Person クラスの対応するプロパティにバインドします。
構成ファイルに次のプロパティがあると仮定します。
server:
port: 8080
name: abc
person:
name: zhangsan
age: 20
自動アセンブリ、つまり @Autowired アノテーションを使用して Person クラスを他のコンポーネントに挿入することにより、構成ファイル内の対応する属性値を取得できます。
@ConfigurationProperties アノテーションには、クラス内に対応する属性が見つからない構成ファイル属性を無視するかどうかを指定するために使用されるignoreUnknownFields、構成ファイル内の無効な属性を無視するかどうかを指定するために使用されるignoreInvalidFieldsなど、他の構成可能な属性もあります。 、など。
つまり、Java では @ConfigurationProperties アノテーションを使用して、構成ファイル内のプロパティ値をクラスのプロパティに挿入し、プログラムが構成ファイル内のプロパティを使用できるようにします。