Java: Como copiar propriedades de um bean para outro

Publicados: 2018-06-26

Como copiar propriedades de um bean para outro

A maioria dos desenvolvedores Java está acostumada a criar classes Java que estejam em conformidade com os padrões de nomenclatura JavaBeans para getters e setters de propriedade. É natural acessar esses métodos diretamente, usando chamadas para os métodos getXxx e setXxx correspondentes.

No entanto, há algumas ocasiões em que o acesso dinâmico às propriedades do objeto Java (sem conhecimento compilado dos métodos getter e setter de propriedade a serem chamados) é necessário.

Exemplos de casos de uso incluem:

  • Construindo linguagens de script que interagem com o modelo de objeto Java (como o Bean Scripting Framework).
  • Construindo processadores de linguagem de modelo para apresentação na Web e usos semelhantes (como JSP ou Velocity).
  • Construindo bibliotecas de tags personalizadas para ambientes JSP e XSP (como Apache Taglibs, Struts, Cocoon).
  • Consumir recursos de configuração baseados em XML (como scripts de compilação Ant, descritores de implantação de aplicativos da Web, arquivo server.xml do Tomcat).

O Jakarta Commons BeanUtils biblioteca apresenta uma variedade de funcionalidades para trabalhar com JavaBeans. A versão 1.8.3 do BeanUtils tem uma dependência da CommonsLogging library .

Além disso, neste tutorial, usei o ToStringBuilder na biblioteca Commons Lang para gerar as propriedades dos JavaBeans neste exemplo.

Outro deve ler:

  • Como gerar Java Thread Dump programaticamente
  • Como substituir o método equals () e hashcode () em Java

Este é um exemplo simples de Java que demonstra como copiar propriedades de um Bean para outro.

CrunchifyBeanCopyExample.java

CrunchifyBeanCopyFrom.java

CrunchifyBeanCopyTo.java

Saída:

Aqui estão as dependências do maven:

Dependência do Apache Common Beanutils Maven

Dependência Maven do Apache Commons Logging