java-何时在Spring中使用ElementFactory方法

前端之家收集整理的这篇文章主要介绍了java-何时在Spring中使用ElementFactory方法 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用以下的springs autopopulatelist
方法1

 passports = new AutoPopulatingList<Passport>(Passport.class); 

方法2
并首先创建Passportfactory

public class PassportFactory implements AutoPopulatingList.ElementFactory {
  private Person person;

  public PassportFactory(Person person) {
     this.person = person;
  }

  public Object createElement(int index) {
    Passport passport = new Passport();
    passport.setPerson(person);
    return passport;
  }
}

然后用这个

List<Passport> passports = new AutoPopulatingList(new PassportFactory(this));

现在这两个代码都可以工作,但是我不知道两者之间有什么区别,因为从互联网复制了第二个代码会有什么帮助.有人可以解释一下我的区别吗

最佳答案
如果您使用:

护照=新的AutoPopulatingList< Passport>(Passport.class); Spring将使用ReflectiveElementFactory< E>创建元素.

例如,这意味着您的列表元素必须具有none参数构造函数.

但是,如果您的列表元素没有这种构造函数,或者需要以特殊方式构建元素,则需要创建自己的ElementFactory. -例如,您的第二个代码,在每个创建列表元素中设置人员字段,而第一个将此字段留空.

猜你在找的Spring相关文章