Java: Cum să copiați proprietățile dintr-un bean în altul

Publicat: 2018-06-26

Cum să copiați proprietățile de la un bean în altul

Majoritatea dezvoltatorilor Java sunt obișnuiți să creeze clase Java care se conformează tiparelor de denumire JavaBeans pentru getters și setters de proprietăți. Este firesc să accesați aceste metode direct, folosind apeluri la metodele getXxx și setXxx corespunzătoare.

Cu toate acestea, există unele ocazii în care este necesar accesul dinamic la proprietățile obiectelor Java (fără cunoștințe compilate despre metodele de obținere și setare de proprietăți care urmează să fie apelate).

Exemple de cazuri de utilizare includ:

  • Construirea de limbaje de scripting care interacționează cu modelul obiect Java (cum ar fi Bean Scripting Framework).
  • Construirea de procesoare de limbaj șablon pentru prezentări web și utilizări similare (cum ar fi JSP sau Velocity).
  • Crearea de biblioteci de etichete personalizate pentru mediile JSP și XSP (cum ar fi Apache Taglibs, Struts, Cocoon).
  • Consumul de resurse de configurare bazate pe XML (cum ar fi scripturi de compilare Ant, descriptori de implementare a aplicațiilor web, fișierul server.xml al Tomcat).

Jakarta Commons BeanUtils biblioteca oferă o varietate de funcționalități pentru lucrul cu JavaBeans. Versiunea 1.8.3 a BeanUtils are o dependență de CommonsLogging library .

În plus, în acest tutorial, am folosit ToStringBuilder în biblioteca Commons Lang pentru a scoate proprietățile JavaBeans din acest exemplu.

Altul trebuie să citească:

  • Cum se generează Java Thread Dump în mod programatic
  • Cum să suprascrieți metoda equals() și hashcode() în Java

Acesta este un exemplu Java simplu care demonstrează modul de a copia proprietăți de la un bean la altul.

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

Ieșire:

Iată dependențele maven:

Dependența Apache Common Beanutils Maven

Dependența Apache Commons Logging Maven