一直有个疑问,在使用@ConfigurationProperties注解作用一个配置类时,如果该配置类继承了一个父类,那么父类的那些配置字段是否可以读取配置信息。
答案是可以的,前提是父类对应字段的set方法是public。
BaseProperties.java
@Getter
@Setter
public class BaseProperties {private String parent;
}
HdlProperties.java
@ToString
@Setter
@Getter
public class HdlProperties extends BaseProperties{String name;String sex;Integer age;
}
config配置类
@Bean@ConfigurationProperties(prefix = "hdl")public HdlProperties createHdlProperties(){//HdlProperties无set方法时,无法读取配置信息return new HdlProperties();}
application.properties配置信息
hdl.name = hdl
hdl.age = 11
hdl.sex = F
hdl.parent = hel
运行结果