Eigenschaften von einer Bean in eine andere (nicht dieselbe Klasse) rekursiv kopieren (einschließlich verschachtelter Beans) [duplizieren]

Diese Frage hat hier bereits eine Antwort:

jedes Tool für die Zuordnung von Java-Objekten zu Objekten? [geschlossen 10 Antworten

Welcher Ansatz erfordert die geringste Menge an selbst geschriebenem Code, um eine tiefe Kopie von einer Bohne zur anderen zu erhalten? Das Ziel ist es, dies automatisch zu tun, wenn Quell- und Zieleigenschaften nach Namen übereinstimmen.

source main bean:

public class SourceBean {
    private String beanField;
    private SourceNestedBean nestedBean;

    // getters and setters
}

source verschachtelte Bohne:

public class SourceNestedBean {
    private String nestedBeanField;

    // getters and setters
}

target main bean:

public class TargetBean {
    private String beanField;
    private TargetNestedBean nestedBean;

    // getters and setters        
}

Ziel verschachtelte Bean:

public class TargetNestedBean {
    private String nestedBeanField;

    // getters and setters
}


Verwenden Sie z.Spring BeanUtils.copyProperites () Ich könnte eine flache Kopie eines @ erstellSourceBean zuTargetBean mit einer Codezeile, kopiert aber keine verschachtelten Beans. Gibt es ein ausgereiftes Dienstprogramm (nicht unbedingt Spring Framework), mit dem die Deep Copy-Funktion ausgeführt werden kann, während möglichst wenig eigenen Code schreiben (ziemlich genau wie BeanUtils.copyProperties ())?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage