Java: come copiare le proprietà da un bean all'altro

Pubblicato: 2018-06-26

Come copiare le proprietà da un bean all'altro

La maggior parte degli sviluppatori Java viene utilizzata per creare classi Java conformi ai modelli di denominazione JavaBeans per getter e setter di proprietà. È naturale quindi accedere direttamente a questi metodi, utilizzando chiamate ai metodi getXxx e setXxx corrispondenti.

Tuttavia, ci sono alcune occasioni in cui è necessario l'accesso dinamico alle proprietà degli oggetti Java (senza la conoscenza compilata dei metodi getter e setter delle proprietà da chiamare).

Esempi di casi d'uso includono:

  • Creazione di linguaggi di scripting che interagiscono con il modello a oggetti Java (come il Bean Scripting Framework).
  • Creazione di processori di linguaggio modello per presentazioni Web e usi simili (come JSP o Velocity).
  • Creazione di librerie di tag personalizzate per ambienti JSP e XSP (come Apache Taglibs, Struts, Cocoon).
  • Consumo di risorse di configurazione basate su XML (come script di build Ant, descrittori di distribuzione di applicazioni Web, file server.xml di Tomcat).

BeanUtils Jakarta Commons la libreria offre una varietà di funzionalità per lavorare con JavaBeans. La versione 1.8.3 di BeanUtils ha una dipendenza dalla CommonsLogging library .

Inoltre, in questo tutorial, ho usato ToStringBuilder nella libreria Commons Lang per generare le proprietà dei JavaBeans in questo esempio.

Un altro deve leggere:

  • Come generare un dump di thread Java in modo programmatico
  • Come eseguire l'override del metodo equals() e hashcode() in Java

Questo è un semplice esempio Java che mostra il modo per copiare le proprietà da One Bean a Another.

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

Produzione:

Ecco le dipendenze Maven:

Dipendenza Apache Common Beanutils Maven

Dipendenza da Maven di registrazione di Apache Commons