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

2022-09-01 06:30:58

我有两个具有相同属性名称的java类。如何将所有属性复制到另一个填充了数据的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;
    ......................

2节课

public class UserBean {

    private String userSessionId;
    private String userId;
    private String name;
   ....................

答案 1

使用 BeanUtils

import org.apache.commons.beanutils.BeanUtils;

UserBean newObject = new UserBean(); 
BeanUtils.copyProperties(newObject, oldObject);

答案 2

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

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

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

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

编辑:

这些天尝试MapStruct


推荐