Comment copier des propriétés d’un haricot vers un autre haricot de classe différente?

J’ai deux classes Java avec les mêmes noms de propriétés.Comment puis-je copier toutes les propriétés dans un autre bean rempli de données? Je ne veux pas utiliser le formulaire traditionnel pour copier des propriétés car j’ai beaucoup de propriétés

Merci d’avance.

1 classe

@ManagedBean @SessionScoped public class UserManagedBean implements Serializable { private static final long serialVersionUID = 1L; private Ssortingng userSessionId; private Ssortingng userId; private Ssortingng name; private Ssortingng adress; ...................... 

2 cours

 public class UserBean { private Ssortingng userSessionId; private Ssortingng userId; private Ssortingng name; .................... 

Utilisez BeanUtils :

 import org.apache.commons.beanutils.BeanUtils; UserBean newObject = new UserBean(); BeanUtils.copyProperties(newObject, oldObject); 

Si vous utilisez la bibliothèque d’Apache, BeanUtils, vous pouvez le faire facilement:

http://commons.apache.org/proper/commons-beanutils/

En particulier, regardez copyProperties (Object, Object)

http://commons.apache.org/proper/commons-beanutils/apidocs/org/apache/commons/beanutils/BeanUtils.html#copyProperties(java.lang.Object , java.lang.Object)

Copiez les valeurs de propriété du bean d’origine vers le bean de destination pour tous les cas où les noms de propriété sont identiques.

Utilisez la reflection Java pour définir et obtenir les valeurs de propriété. Il ya une propriété de haricot de spring qui fait l’access à la propriété. Je vous recommande de java reflection.

Découvrez le Dozer Framework – c’est un cadre de mappage d’object à object. L’idée est que:

  • Habituellement, il mappera par convention.
  • Vous pouvez remplacer cette convention par un fichier de mappage.

. . les fichiers de mappage sont donc aussi compacts que possible. Il est utile dans de nombreux cas, tels que le mappage d’une charge utile de service de spécification de cas d’utilisation sur les objects de modèle de base réutilisables.

Lors de la prestation des cours de formation SpringSource, nous avions très souvent souligné ce cadre.