1、 需求前提
当一个对象有很多字段时,user1里的几十个字段,全部赋值到user2里的时候,需要写几十个get,set方法,代码量冗余繁杂,相信到大家都遇到过这种业务场景,这种千变一律的copy相信大家都已厌烦,那么,我们如何把这几十行代码变成1一行代码呢?答案就是mapStruct。
本文会教导如何简单使用此注解,并且特殊情况下进阶使用。
首先需要倒入mavan仓库的jar包,如下,可以直接拷贝:
2、 简单使用
很简单,定义一个抽象接口,然后在使用的时候注入接口,使用conver方法吧一个对象转成另一个对象,项目builder的时候会自动生成需要的get,set方法,完成我们的对象赋值功能。
3、 使用进阶
(1) 当存在不同字段时候,用mappings注解转换。
(2) 还可以指定枚举java(“TypeEnum.name.getCode()”),注意,此时用的就不是source,用的是expression。如图
(3) 重点:当两个list需要转换并且里面有不同字段时候,需要先写这两个list里存放的对象转换。如图