And*_*ild 1 java mapping reflection pojo
您好,我有两个 java 对象,它们彼此独立,但共享相同的getter和setter方法。例如,我有一个UserEntity和UserDTO对象,我会将 UserEntity 中的所有 getter 值映射到 UserDTO 的所有 setter。
做此类事情的最佳方法是什么?我更喜欢用 java 反射来实现,但我现在也想看看外面是否有一些有用的框架实现。
有一个很棒的映射器库,称为MapStruct,可以用来进行映射。
以下是 UserEntity 和 UserDTO 的示例:
@Mapper
public interface UserMapper {
UserMapper INSTANCE = Mappers.getMapper(UserMapper.class);
@Mapping
UserDTO userEntityToUserDTO(UserEntity user);
}
UserDTO userDto = UserMapper.INSTANCE.userEntityToUserDTO(userEntity);
Run Code Online (Sandbox Code Playgroud)
它还支持兼容类型之间的转换,如果字段命名不同,还可以设置自定义映射。例如:
@Mapping(source = "userName", target = "name")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1727 次 |
| 最近记录: |