微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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. -例如,您的第二个代码,在每个创建列表元素中设置人员字段,而第一个将此字段留空.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐