Java学习记录–ModelMapper的使用
在项目中很多时候需要把Model和DTO两个模型类来回转换,保证Model对外是隐私的,同时类似密码之类的属性也能很好地避免暴露在外了.
那么ModelMapper就是为了方便转换而实现的一个类库,下面根据使用场景不断增加案例.
1.ModelMapper入口类
ModelMapper这个工具的入口类就是ModelMapper,因此转换就需要从这个类入口.简单看下API
1:addConverter() :顾名思义,添加转换器
2:addMappings() :添加映射器
3:createTypeMap() :创建A-B的转换器关系
4:getConfiguration() :获取配置
5:map() ;映射处理
2.简单Model-DTO转换
/**
* 简单类-类转换
*/
@Test
public void testModelToDTO() {
User user = new User();
user.setId(1L);
user.setNickname("张三");
user.setEmail("101@qq.com");
user.setHonor("测试荣誉");
ModelMapper modelMapper = new ModelMapper();
UserDTO userDTO = modelMapper.map(user, UserDTO.class);
System.out.println(userDTO);
}
这里转换替换是根据字段名匹配也就是当User和UserDTO中的字段名称一样就会自动转换.
3.自定义转换
自定义有很多转换,比如Provider,Converter,Condition,PropertyMap等,下面是个综合的例子.
/**
*