如何将属性从bean复制到不同类中的另一个bean?

use*_*519 25 java javabeans

我有两个具有相同属性名称的java类.如何将所有属性复制到另一个填充了data的bean.我不想使用传统的表单来复制属性,因为我有很多属性.

提前致谢.

1班

@ManagedBean
@SessionScoped
public class UserManagedBean implements Serializable {

    private static final long serialVersionUID = 1L;
    private String userSessionId;
    private String userId;
    private String name;
    private String adress;
    ......................
Run Code Online (Sandbox Code Playgroud)

2级

public class UserBean {

    private String userSessionId;
    private String userId;
    private String name;
   ....................
Run Code Online (Sandbox Code Playgroud)

Mar*_*mro 54

用途BeanUtils:

import org.apache.commons.beanutils.BeanUtils;

UserBean newObject = new UserBean(); 
BeanUtils.copyProperties(newObject, oldObject);
Run Code Online (Sandbox Code Playgroud)

  • 如果您正在使用org.springframework.beans.BeanUtils,那么使用类似`BeanUtils.copyProperties(oldObject,newObject);` (14认同)
  • 它不是BeanUtils.copyProperties(oldObject,newObject),而是BeanUtils.copyProperties(newObject,oldObject)! (6认同)

Jas*_*ues 5

查看Dozer 框架- 它是一个对象到对象映射框架。这个想法是:

  • 通常它会按惯例映射。
  • 您可以使用映射文件覆盖此约定。

. . 因此映射文件尽可能紧凑。它在许多情况下很有用,例如将用例指定服务有效负载映射到可重用的核心模型对象。

在提供 SpringSource 培训课程时,我们曾经经常指出这个框架。

编辑:

这些天尝试MapStruct