在Spring中的属性拷贝-BeanUtils类

刚入行半年,仅仅是个人理解,如有不对之处欢迎大佬指出!!!!!

在做开发的过程中我们经常会碰到需要拷贝属性的地方,例如在entity实体和DTO实体相互拷贝的情况,那么如果使用get或者set方法的话,代码就会显得很复杂而且多,在Spring中提供了一个工具类BeanUtils。

BeanUtils中的copyProperties方法实现拷贝属性,具体用法如下:

//将employeeDTO中的属性拷贝到employee中
BeanUtils.copyProperties(employeeDTO,employee);

 作为被拷贝的属性有个要求,那就是在这两个实体中定义的属性名必须相同,也就是两者必须有对应的成员变量,具体如下:

public class Employee {
    private Long id;
    private String username;
    private String name;
    private String password;
    private String phone;
    private String sex;
    private String idNumber;
    private Integer status;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private Long createUser;
    private Long updateUser;
}
public class EmployeeDTO {
    private Long id;
    private String username;
    private String name;
    private String phone;
    private String sex;
    private String idNumber;

}

Employee中的属性是数据库中对应的属性,DTO中的属性是从前端传回的表单属性,我们想要对数据库中的数据进行操作就要操作employee实体,那么前端传回的是DTO实体,通过属性拷贝之后,我们的employee实体可以拥有DTO实体中对应的属性,而没有的属性仍需要我们手动进行SET和GET方法。

个人理解,如有指教尽情留言,个人学习后总结。

猜你喜欢

转载自blog.csdn.net/jialuosi/article/details/132170699
今日推荐