我知道如果我将属性放在.yml文件中:
list
- item 1
- item 2
我可以将它们绑定到java.util.List或Set类型。如果yaml属性是这样的:
map:
key1: value1
key2: value2
我可以将它绑定到Map。我想知道是否可以将yml属性绑定到Map>键入..
答案 0 :(得分:2)
尝试添加:
private Map<String, List<String>> keysList;
并将其放入.yml文件中
keysList:
key1:
- value1
- value2
key2:
- value2
- value3
key3:
- value3
- value4
结果应该是List mapping:
keysList = {key1 = [value1,value2],key2 = [value2,value3],key3 = [value3,value4]}
如果你这样使用
private Map keysList;
您将获得地图映射。
keysList = {key1 = {0 = value1,1 = value2},key2 = {0 = value2,1 = value3},key3 = {0 = value3,1 = value4}} < / p>
答案 1 :(得分:0)
感谢它对我有帮助:)我在这里发布更具描述性的答案。
配置类-
@ConfigurationProperties(prefix = "configuration.mymapwithlist")
public class ConfigUtilClass implements IConfigUtilClass {
private Map<String, List<String>> myMap = new HashMap<>();
@Override
public Map<String, List<String>> getMyMap() {
return myMap;
}
}
yaml-
configuration:
mymapwithlist:
myMap:
key1:
- value 1
- value 2
- value 3
- value 4
key2:
- value 1
- value 2
- value 3
- value 4
'[key 3]':
- value 1
- value 2
- value 3
- value 4
'[key 4]':
- value 1
- value 2
- value 3
- value 4
如果您的键上有空格,则将键放在[键4]中。