spring boot将yaml list加载为map

时间:2015-09-17 20:03:24

标签: java spring spring-boot yaml

我有一个像这样的yaml文件

      framework:
              generalConfiguration:
                    cassandra:
                      fe:
                        seeds:
                            - fire201
                            - fire202
                        dc: DC

还有一个豆子

public class ConfigurationBean{

private Map<String, Object> generalConfiguration;

public Map<String, Object> getGeneralConfiguration() {
    return generalConfiguration;
}

public void setGeneralConfiguration(Map<String, Object> generalConfiguration) {
    this.generalConfiguration = generalConfiguration;
}

豆工厂方法

@Bean(name = "configurationDataHolder")
@ConfigurationProperties(prefix = "framework")
public ConfigurationBean configurationBean(){
    return new ConfigurationBean();
}

我的问题是spring boot填充了generalConfiguration Map,其中: fe是带键的地图

    seeds
    dc

dc是一个String值条目。 和种子是这样的地图:

0 -> fire201
1 -> fire202

我希望将种子填充为List。

知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

您的generalConfiguration正在使用原始类型作为值,因此您不会像使用它一样对框架提供任何线索。当您查看配置时,对您来说可能是显而易见的,但我们通过逐个浏览关系并采用最佳选项来处理配置。

您的Object没有提供任何提示。在同一结构中混合简单的值和地图也是一种气味。