Java: So kopieren Sie Eigenschaften von einer Bean in eine andere

Veröffentlicht: 2018-06-26

So kopieren Sie Eigenschaften von einer Bean zu einer anderen

Die meisten Java-Entwickler sind daran gewöhnt, Java-Klassen zu erstellen, die den JavaBeans-Namensmustern für Eigenschafts-Getter und -Setter entsprechen. Es ist natürlich, dann direkt auf diese Methoden zuzugreifen, indem Aufrufe an die entsprechenden getXxx- und setXxx- Methoden verwendet werden.

Es gibt jedoch einige Fälle, in denen ein dynamischer Zugriff auf Java-Objekteigenschaften (ohne einkompiliertes Wissen über die aufzurufenden Eigenschafts-Getter- und -Setter-Methoden) erforderlich ist.

Beispiele für Anwendungsfälle sind:

  • Erstellen von Skriptsprachen, die mit dem Java-Objektmodell interagieren (z. B. Bean Scripting Framework).
  • Erstellen von Template-Sprachprozessoren für Webpräsentationen und ähnliche Anwendungen (wie JSP oder Velocity).
  • Erstellen benutzerdefinierter Tag-Bibliotheken für JSP- und XSP-Umgebungen (wie Apache Taglibs, Struts, Cocoon).
  • Nutzung von XML-basierten Konfigurationsressourcen (z. B. Ant-Build-Skripts, Deployment-Deskriptoren für Webanwendungen, Tomcats server.xml -Datei).

Die Jakarta Commons BeanUtils Die Bibliothek bietet eine Vielzahl von Funktionen für die Arbeit mit JavaBeans. Die Version 1.8.3 von BeanUtils hat eine Abhängigkeit von der CommonsLogging library .

Außerdem habe ich in diesem Tutorial ToStringBuilder in der Commons Lang-Bibliothek verwendet, um die Eigenschaften der JavaBeans in diesem Beispiel auszugeben.

Ein weiteres muss gelesen werden:

  • So generieren Sie Java-Thread-Dump programmgesteuert
  • So überschreiben Sie die Methoden equal() und hashcode() in Java

Dies ist ein einfaches Java-Beispiel, das zeigt, wie Eigenschaften von einer Bean zu einer anderen kopiert werden.

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

Ausgabe:

Hier sind Maven-Abhängigkeiten:

Apache Common Beanutils Maven-Abhängigkeit

Apache Commons Logging Maven-Abhängigkeit