我有以下配置
job:
x:
cron: 0 0 0 1,16 * ?
group: xg
name: xn
y:
cron: 0 0 1 1,16 * ?
group: yg
name: yn
和这样的JAVA POJO
public class JobConfigProperties {
private String group;
private String name;
private String cron;
...
}
我正在寻找一种让spring boot填充这些类的方法
@LoadPropertiesAsObject(prefix =“ job.x”)私有JobConfigProperties jobXConfig; @LoadPropertiesAsObject(prefix =“ job.y”)私人 JobConfigProperties jobYConfig;
@ConfigurationProperties
不起作用,因为它必须附加到类或方法上
稍后编辑:看来@ConfigurationProperties
可以应用于方法。我将尝试一下,然后返回结果。
答案 0 :(得分:1)
您可以在配置类中通过映射添加动态属性。键必须是字符串(属性键),值可以是具有多个变量的复杂类。
@Component
@ConfigurationProperties("job")
public class JobConfigProperties {
private Map<String, Intern> values;
public Map<String, Intern> getValues() {
return values;
}
public void setValues(Map<String, Intern> values) {
this.values = values;
}
public static class Intern {
private String cron;
private String group;
private String name;
public String getCron() {
return cron;
}
public void setCron(String cron) {
this.cron = cron;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
在您的示例中,必须在“作业”和动态变量之间放置一个“值”元素:
job:
values:
x:
cron: 0 0 0 1,16 * ?
group: xg
name: xn
y:
cron: 0 0 1 1,16 * ?
group: yg
name: yn
希望有帮助...