Welcher Ansatz erfordert die geringste Menge an eigenem geschriebenen Code, um eine tiefe Kopie einer Bohne zu einer anderen zu erreichen? Das Ziel besteht darin, dies automatisch zu tun, wenn die Quell- und Zieleigenschaften mit dem Namen übereinstimmen.Kopieren von Eigenschaften von einer Bean in eine andere (nicht die gleiche Klasse) rekursiv (einschließlich verschachtelte Beans)
Quelle Haupt bean:
public class SourceBean {
private String beanField;
private SourceNestedBean nestedBean;
// getters and setters
}
Quelle geschachtelt bean:
public class SourceNestedBean {
private String nestedBeanField;
// getters and setters
}
Zielhaupt bean:
public class TargetBean {
private String beanField;
private TargetNestedBean nestedBean;
// getters and setters
}
Ziel geschachtelt bean:
public class TargetNestedBean {
private String nestedBeanField;
// getters and setters
}
Verwendung von z.B. Spring BeanUtils.copyProperites() Ich könnte eine flache Kopie von SourceBean
zu TargetBean
mit einer Zeile Code erstellen, aber es wird nicht verschachtelte Bohnen kopieren. Gibt es ein ausgereiftes Dienstprogramm (nicht notwendigerweise Spring Framework), das es erlauben würde, die tiefe Kopie zu machen, während Schreiben mindestens so eigenen Code wie möglich (so ziemlich wie BeanUtils.copyProperties())?
Verwenden Sie * Serialisierung * zu tun * tiefe Kopie * – TheLostMind
@TheLostMind Ich denke, das funktioniert nur, wenn sie der gleichen Klasse sind. – RealSkeptic
@ M.Deinum nicht ganz.Die Frage, die du erwähnst, ist eine generische (Beans Mapping), während was ich brauche ist das Klonen 'nach archivierten Namen' in einer sehr einfachen Art und Weise mit der geringsten Menge an Setup-Code möglich –