我有一个以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创建失败,并显示一条消息,它无法将value设置为NULL属性。

处理这种情况的最佳方法是什么?

最佳答案

您应该能够使用commons集合中的LazyMapLazyList来实现此目的。

10-04 20:22