如何在spring-boot配置中将yml映射绑定到Java映射?

时间:2018-02-26 09:42:46

标签: java spring spring-boot yaml

我想在这里遵循本指南:

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"作为键注入,将值作为字符串列表注入。 我正在努力正确定义yml。

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

1 个答案:

答案 0 :(得分:5)

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

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

这是输出

enter image description here