使用 Spring Boot 将 YAML 属性绑定到 Map<String, List<String>> 类型

sal*_*dor 7 java yaml properties spring-boot

我知道如果我将属性放在 .yml 文件中:

list
  - item 1
  - item 2
Run Code Online (Sandbox Code Playgroud)

我可以将它们绑定到 ajava.util.ListSet类型。另外如果 yaml 属性是这样的:

map:
  key1: value1
  key2: value2
Run Code Online (Sandbox Code Playgroud)

我可以将它们绑定到地图。我想知道是否可以将 yml 属性绑定到Map<String, List<String>>类型。

abo*_*cic 5

尝试添加这个:

private Map<String, List<String>> keysList;
Run Code Online (Sandbox Code Playgroud)

并将其放入您的 .yml 文件中

keysList:
    key1: 
        - value1
        - value2  
    key2: 
        - value2
        - value3
    key3: 
        - value3
        - value4
Run Code Online (Sandbox Code Playgroud)

结果应该是列表映射:

keysList={key1=[value1, value2], key2=[value2, value3], key3=[value3, value4]}

如果你用这种方式

private Map keysList;
Run Code Online (Sandbox Code Playgroud)

你会得到地图映射。

keysList={key1={0=value1, 1=value2}, key2={0=value2, 1=value3}, key3={0=value3, 1=value4}}