我有一个Map,它有一个Map作为其成员变量。像这样的东西 -
public Clas Engine{
private Map<String,List<String>> filesByKey;
public void setFilesByKey(Map<String,List<String>> map) {
this.filesByKey = map;
}
public Map<String,List<String>> getFilesByKey() {
return filesByKey;
}
}
用户可以在地图中指定任意数量的键及其未预定义的概念。他们基本上可以将任意数量的文件分组到一个密钥中,并提供地图值。
我使用的是PropertyOverrideConfigurer,在属性文件中,我试图做这样的事情 -
engine.filesByKey[key1][0]=file1
engine.filesByKey[key1][1]=file2
engine.filesByKey[key2][0]=anotherfile1
engine.filesByKey[key2][1]=anotherfile2
现在这不起作用,因为与key1或key2对应的List值为null。因此,Spring Bean创建失败,并显示无法将值设置为NULL的属性。
处理这种情况的最佳方法是什么?
答案 0 :(得分:2)
答案 1 :(得分:0)
尝试使用来自commons集合的DefaultedMap初始化filesByKey变量。如果map不包含必需的键,它可以返回默认值而不是null。