A classe BeanUtils faz parte da biblioteca Apache Commons BeanUtils, que fornece utilitários para manipulação de propriedades e operações de reflexão em objetos Java. Ela simplifica o trabalho de copiar valores entre objetos, obter e definir propriedades, entre outras tarefas comuns de manipulação de objetos.
Aqui está um exemplo de como usar a classe BeanUtils para copiar propriedades entre objetos:
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.PropertyUtils;
public class Main {
public static void main(String[] args) {
PessoaDto origem = new PessoaDto();
source.setNome("John");
source.setIdade(25);
PessoaModel destino = new PessoaModel();
try {
BeanUtils.copyProperties(destino, origem);
System.out.println("Nome: " + destino.getNome());
System.out.println("Idade: " + destino.getIdade());
} catch (Exception e) {
e.printStackTrace();
}
}
}
class PessoaDto {
private String name;
private int age;
// getters and setters
}
@Entity
@Table(name="pessoas")
class PessoaModel {
private String nome;
private int idade;
// getters and setters
}
Neste exemplo, temos duas classes: SourceObject e DestinationObject. Queremos copiar as propriedades do objeto source para o objeto destination.
Usamos BeanUtils.copyProperties(destination, source) para copiar as propriedades do objeto source para o objeto destination. Os nomes e tipos de propriedades correspondentes em ambos os objetos devem ser compatíveis para que a cópia seja feita corretamente.
Após a cópia, podemos acessar as propriedades do objeto destination e verificar se os valores foram copiados corretamente.
A biblioteca Apache Commons BeanUtils também fornece outros utilitários para obter e definir propriedades, converter tipos de dados, trabalhar com mapas de propriedades e muito mais. Consulte a documentação da biblioteca para explorar todos os recursos disponíveis.