1、 需求前提
当一个对象有很多字段时,user1里的几十个字段,全部赋值到user2里的时候,需要写几十个get,set方法,代码量冗余繁杂,相信到大家都遇到过这种业务场景,这种千变一律的copy相信大家都厌烦了,如何把这几十行代码变成1一行代码呢?答案就是mapStruct。
2、使用教程
前面一篇文章已经介绍过mapstruct的使用教程,引入mavan包,简单的转换,及其进阶使用,如何转换枚举,以及两个list转换不生效,如何解决,都全部写过实例,想学习的同学可以点进去看看。
《Mapper(compomentModel=”spring”)实例详解》几十行代码如何优化成一行
这篇文章主要介绍主要介绍mapstruct的注解@afterMapper的使用,比如每次都需要吧用户姓名来回转换,比如连接上下文的用户信息,每次都需要转换,总不能每个方法都写一个转换,这样冗余代码太多,为了考虑代码的复用性,这时候就可以定义@aftermapper方法。
如图,定义一个公用的AfterMapping之后,转换器生成的方法,里面直接就有afterContent()方法,来调用之前写的afterMaping。
注意重点:本人实验的时候转换一个对象一直不生效,使用@after注解一定,一定,一定要转换两个以上对象。(重要的事要说三遍)