Java中ModelMapper的高级使用方法有哪些
导读:本文共4140.5字符,通常情况下阅读需要14分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: ModelMapper 高级使用  ModelMapper 是一个 Object To Object 的工具,类似于 MapStruct又不同于 MapStruct。主要原因是 ModelMapper 是利用反射的原理实现的 Object To Object。使用实例本实例实现了条件映射、嵌套映射(对象中有对象映射)、自定义属... ...
目录
(为您整理了一些要点),点击可以直达。  ModelMapper 是一个 Object To Object 的工具,类似于 MapStruct又不同于 MapStruct。主要原因是 ModelMapper 是利用反射的原理实现的 Object To Object。
本实例实现了条件映射、嵌套映射(对象中有对象映射)、自定义属性映射、List 集合映射(对象中有集合映射)、Map集合映射(对象中有集合映射)、忽略映射,默认值设置(ModelMapper 的默认值设置时一不小心就会入坑,如果直接设置默认值,当再赋值转换时,默认值会覆盖赋值的值,所以设置默认值需要结合条件映射)等。
验证了对象属性为集合,集合中还有集合能够使用 ModelMapper 进行转换。不足点是这个实例中没有验证有继承关系时的映射(使用 modelMapper.includeBase(父类1, 父类2) 方法),多个属性映射为一个属性或一个属性映射为多个属性(使用 PropertyMap 转换器)。
使用条件映射设置默认值。当 age/createTime 没有值时设置默认值为18/当前时间,有值时不设置默认值;
嵌套映射,自定义属性映射。Source 的 sourceSon 成员变量 映射到 Destination 的 destinationSon 成员变量;
List集合映射。Source 的 listSon 成员变量 映射到 Destination 的 sonList 成员变量;
Map集合映射。Source 的 mapSon 成员变量 映射到 Destination 的 sonMap 成员变量;
忽略映射。忽略 Destination 的 excessParam 成员变量,如果不忽略将验证不过,报 org.modelmapper.MappingException: ModelMapper mapping errors;
(1)BaseClass
(2)SouSubClass
(3)DestSubClass
(4)Source
(5)Destination
在 ab 两处打上断点,查看变量转换前后的值,证实转换成功。
Java中ModelMapper的高级使用方法有哪些的详细内容,希望对您有所帮助,信息来源于网络。