我需要创建@ConfigurationProperties
来读取包含复杂对象列表的.yml文件。
Spring-Boot似乎与此有关,所以我逐步进行尝试,并尝试首先加载字符串列表:
.yml:
qwer: asdf
strings:
- Apple
- Orange
- Strawberry
- Mango
配置类:
@Component
@PropertySource(value = {"tsp_client.yaml", "file:tsp_client.yaml"}, ignoreResourceNotFound = true)
@ConfigurationProperties
public class TSPClientConfig {
public String qwer;
public List<String> strings;
public String getQwer() {
return qwer;
}
public void setQwer(String qwer) {
this.qwer = qwer;
}
public List<String> getStrings() {
return strings;
}
public void setStrings(List<String> strings) {
this.strings = strings;
}
}
,与此同时,我仍然得到大小为0的列表。qewr
属性可以很好地映射。
当我从here复制字符串时,可以使字符串缩进。
那么,您能告诉我spring是否对此有问题,或者我在这里做错了什么?最终,我需要在列表中包含复杂的对象。
Spring-Boot:2.1.2。释放
答案 0 :(得分:0)
显然杰克逊也有一个Yaml阅读器: https://dzone.com/articles/read-yaml-in-java-with-jackson
如果没有列表设置器,您可以做
setStrings(String[] ar){
this.strings=Arrays.asList(ar);
}