我需要创建读取包含复杂对象列表的.yml文件的@ConfigurationProperties
。
似乎 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
物业地图很好。字符串上的缩进应该没问题,因为我从这里复制了它。
那么,你能告诉我春天是有什么问题还是我在这里做错了什么? 最终,我需要在列表中包含复杂的对象。
弹簧启动:2.1.2.发布
显然杰克逊也有一个 YAML 阅读器:https://dzone.com/articles/read-yaml-in-java-with-jackson
如果它没有列表设置器,您可以这样做
setStrings(String[] ar){
this.strings=Arrays.asList(ar);
}