【问题标题】:How to bind a yml map to a Java map in spring-boot configuration?如何在 spring-boot 配置中将 yml 映射绑定到 Java 映射?
【发布时间】:2018-08-05 17:27:04
【问题描述】:

我在这里尝试遵循本指南:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-Configuration-Binding

但我正在努力让它发挥作用。

我想从 application.yml 中定义的映射初始化一个 HashMap。

这是我对 yml-map 定义的最后一次尝试:

symbols:
    symbolPairs.CombinationsAlpha="CombinationsAlpha"
    symbolPairs.[CombinationsAlpha]=aaabbb, bbbaaa, ccceee, dddggg
    symbolPairs.Combinations="CombinationsInteger"
    symbolPairs.[CombinationsAlpha]=000111, 222666, 999000, 151515

这是我的 java 类:

@Data
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "symbols")
public class SymbolsConfig {
  private Map<String, List<String>> symbolPairs = new HashMap<>();
}

我想让"CombinationsAplha""CombinationsInteger"injected 作为键,值作为字符串列表。 我正在努力正确定义 yml。

来自projectlombok@Data 注解生成getter 和setter。

【问题讨论】:

  • 这必须在课堂上完成吗?如果我想将 application.yml 文件中的 2 个映射注入到单个类中,是否必须为每个映射创建 1 个类?

标签: java spring spring-boot yaml


【解决方案1】:

您的 yml 结构不正确。像这样改变你的 yml

symbols:
    symbolPairs.[CombinationsAlpha]: aaabbb, bbbaaa, ccceee, dddggg
    symbolPairs.[CombinationsInteger]: 000111, 222666, 999000, 151515

这是输出

【讨论】:

    猜你喜欢
    • 2019-07-08
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 2014-08-25
    • 2018-11-22
    • 2020-10-22
    • 1970-01-01
    相关资源
    最近更新 更多