利用构造函数中的this指向优化代码

在平时的工作中,经常需要根据实体创建一个对应的DTO传输给前端(前端居然是我自己!),之前都是先创建一个空的DTO对象然后使用BeanUtil将实体类的所有属性复制到DTO对象里面,然后根据业务需要修改DTO对象的一些属性

之前的写法

1
2
3
UserDto userDto = new UserDto();
BeanUtil.copyProperties(userEntity, userDto);
//下面是其他操作

优化的写法

1
2
3
4
5
6
7
8
9
//给UserDto创建一个带有一个实体参数的构造函数
public UserDTO(UserEntity entity) {
if(entity != null){
BeanUtil.copyProperties(entity, this);
}
//其他的业务逻辑
}
//业务中只需要调用这个构造函数就行了
UserDto userDto = new UserDto(userEntity);

原理

原理非常简单,就是构造函数中的this指向正在创建的对象实例


利用构造函数中的this指向优化代码
http://blog.jingxiang.ltd/2023/07/18/利用构造函数中的this指向优化代码/
作者
yemangran
发布于
2023年7月18日
许可协议