一、mapstruct简介
1、官网:https://mapstruct.org/,使用的版本1.3.1.Final
2、使用场景 :pojo(参考lombok)之间的相互转化。
3、不同的convert解决方案
二、Mapstruct的使用
2.1不使用框架的缺点
1、多而杂的代码与业务逻辑耦合,不能突出业务逻辑的重点
2、重复的劳动
2.2@Mapper
1、默认映射规则
同类型且同名的属性,会自动映射
2、mapstruct会自动类型转换
8种基本类型和他们对应的包装类型之间
8种基本类型(包括他们的包装类型)和String之间
日期类型和String之间
2.3@Mappings和Mapping
1、指定属性之间的映射关系
1.1日期格式化:dateFormat = "yyyy-MM-dd HH:mm:ss"
1.2数字格式化:numberFormat = "#.00"
source或target多余的属性对方没有,不会报错的。
2、ignore
3、属性是引用对象的映射处理
4、批量映射
2.4@AfterMapping和@MappingTarget
1、在映射最后一步对属性的自定义映射处理
2.5@BeanMapping
1、ignoreByDefault: 忽略mapstruct的默认映射行为。避免不需要的赋值,避免属性覆盖
2.6@InheritConfiguration
1、更新的场景,避免同样的配置写多份
2.7@InheritlnverseConfiguration
1、反向映射不用反过来再写一遍,注意:只继承@Mapping注解配置,不会继承@BeanMapping
2.8mapstruct跟spring整合使用
以上是我在B站视频中,学习的Mapstruct的笔记,希望能够给大家带来帮助,如有不足之处还希望各路大神批评指正。谢谢大家~~~~
好东西当然要拿出来跟大家一起分享,噗呲噗呲,下面链接是我在B站的学习视屏。
https://www.bilibili.com/video/BV1E5411n7HR?from=search&seid=14479608931005125925