在Spring Boot的源码中,@ConfigurationProperties注解用于将配置文件中的属性值绑定到Java对象中。这个注解可以和@EnableConfigurationProperties注解一起使用,以便能够在Spring的上下文中注册配置属性类的实例。
以下是@ConfigurationProperties注解的核心方法:
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ConfigurationProperties {
    // 配置属性的前缀
    @AliasFor("prefix")
    String value() default "";
 
    // 配置属性的前缀别名,通常用于指定配置文件中的一个路径
    String prefix() default "";
 
    // 是否需要校验配置属性
    boolean ignoreInvalidFields() default false;
 
    // 是否需要忽略未知的配置属性
    boolean ignoreUnknownFields() default true;
 
    // 配置属性的位置,用于加载配置文件
    String[] locations() default {};
 
    // 配置属性的加载顺序
    int order() default 0;
}使用示例:
@ConfigurationProperties(prefix = "app")
public class AppProperties {
    private String name;
    private int version;
 
    // getters and setters
}在上述代码中,AppProperties类将绑定配置文件中所有以app作为前缀的属性。例如,如果配置文件中有如下属性:
app.name=MyApp
app.version=1AppProperties类中的name和version字段将自动填充这些值。