0

我需要创建@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属性映射很好。字符串上的缩进应该没问题,因为我从这里复制了它。

那么,你能告诉我春天是否有一些问题或者我在这里做错了什么?最终我需要在列表中有复杂的对象。

弹簧启动:2.1.2.RELEASE

4

1 回答 1

0

显然杰克逊也有一个yaml阅读器: https ://dzone.com/articles/read-yaml-in-java-with-jackson

如果它没有 List setter 你可以做

setStrings(String[] ar){
this.strings=Arrays.asList(ar);
}
于 2019-03-31T19:07:58.187 回答