当前位置: 首页 > 知识库问答 >
问题:

Spring Boot将yaml列表加载为映射

汪栋
2023-03-14

我有一个像这样的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();
}
    seeds
    dc
0 -> fire201
1 -> fire202

我希望种子被填充为一个列表。

知道怎么做吗?

共有1个答案

寇甫
2023-03-14

您的GeneralConfiguration使用了一个原始类型作为值,因此您没有给出框架的任何线索。当您查看您的配置时,它对您来说可能是显而易见的,但我们通过逐个浏览关系并采取最好的选项来处理配置。

您的对象没有给出任何提示。在同一结构中混合简单的值和映射也是一种气味。

 类似资料:
  • 问题内容: 我想让PyYAML的加载程序将映射(和有序映射)加载到Python 2.7+ OrderedDict类型中,而不是它当前使用的普通和​​对列表。 最好的方法是什么? 问题答案: 注意 :有一个基于以下答案的库,该库还实现了CLoader和CDumpers:Phynix / yamlloader 我非常怀疑这是最好的方法,但这是我想出的方法,并且确实有效。也可作为要点。

  • 我正在尝试在我的应用程序中注入列表。我的Spring Boot应用程序中Java对象列表的yml文件。 我已经看到了其他类似问题的一些答案,这些问题将Yaml中的列表映射到Spring Boot中的对象列表,但我有不同的输出错误。 我的YAML文件 我还创建了Bucket类 以及我的配置类,我在其中将列表注入YAML 当Spring Boot开始执行时,我出现以下错误: 我也尝试过简单的字符串列表

  • YAML文件: 配置类: 我希望@value注释允许我注入相应的属性值,但这似乎不起作用(注入'id'字段似乎工作得很好)。

  • 我正在尝试将yml文件映射到Spring boot应用程序中具有字符串键和PromotionPolicy值的HashMap,并使用默认的Spring boot实现来解析这些值,但当我尝试从映射中读取值时,PromotionPolicy对象只包含所有实例的默认值[0,false,false]。 我的yml是: 我拥有的模型是: 组件java类如下: 尝试在此处显示值: 我的输出如下: 而我希望结果包

  • 问题内容: 在我的Spring Boot应用程序中,我具有以下内容的application.yaml配置文件。我想将其作为带有通道配置列表的Configuration对象注入: 我想用PaymentConfiguration对象列表填充@Configuration对象: 我使用@Autowired构造函数将其作为普通bean注入。xyz的值正确填充,但是当Spring尝试将yaml解析为对象列表时

  • 有什么线索吗?这里出了什么问题?