Copie propriedades de um bean para outro (não da mesma classe) recursivamente (incluindo beans aninhados) [duplicado]
Esta pergunta já tem uma resposta aqui:
alguma ferramenta para mapeamento de objeto java para objeto? [fechadas] 10 respostasQual abordagem requer a menor quantidade de código escrito próprio para obter uma cópia profunda de um bean para outro? O objetivo é fazer isso de maneira automática quando as propriedades de origem e destino forem correspondidas por nome.
feijão principal de origem:
public class SourceBean {
private String beanField;
private SourceNestedBean nestedBean;
// getters and setters
}
bean aninhado de origem:
public class SourceNestedBean {
private String nestedBeanField;
// getters and setters
}
feijão principal de destino:
public class TargetBean {
private String beanField;
private TargetNestedBean nestedBean;
// getters and setters
}
feijão aninhado de destino:
public class TargetNestedBean {
private String nestedBeanField;
// getters and setters
}
Utilizando p.Spring BeanUtils.copyProperites () Eu poderia criar uma cópia superficial de umSourceBean
paraTargetBean
com uma linha de código, mas não copiará beans aninhados. Existe algum utilitário maduro (não necessariamente o Spring Framework) que permita fazer a cópia profunda enquantoescrevendo o mínimo de código possível (praticamente o mesmo que BeanUtils.copyProperties ())?