@ConfigurationProperties 是一个注解,它用于将配置文件中的属性值绑定到一个类的字段上。这个类需要被注解为 @Configuration 类,以便这些属性可以在Spring容器中作为Bean进行管理。
下面是一个简单的使用示例:
@Configuration
@ConfigurationProperties(prefix = "example")
public class ExampleProperties {
    private String someField;
    private int someNumber;
 
    // 标准的getter和setter
    public String getSomeField() {
        return someField;
    }
 
    public void setSomeField(String someField) {
        this.someField = someField;
    }
 
    public int getSomeNumber() {
        return someNumber;
    }
 
    public void setSomeNumber(int someNumber) {
        this.someNumber = someNumber;
    }
}在 application.properties 或 application.yml 中配置:
example.some-field=Hello World
example.some-number=123然后,你可以在其他的Spring组件中注入这个配置类:
@Service
public class ExampleService {
    private final ExampleProperties properties;
 
    @Autowired
    public ExampleService(ExampleProperties properties) {
        this.properties = properties;
    }
 
    public void printProperties() {
        System.out.println(properties.getSomeField());
        System.out.println(properties.getSomeNumber());
    }
}在这个例子中,ExampleProperties 类被标记为 @Configuration,并且通过 @ConfigurationProperties(prefix = "example") 将配置文件中的属性与类的字段关联起来。然后,这个类可以作为Bean注入到其他的Spring组件中,并使用其中的配置信息。