稚鱼君
稚鱼君
发布于 2020-07-17 / 70 阅读
0
0

mapstruct与lombok一起使用问题

 受够了代码中的BeanUtils.copyProperties,和同事聊起来被安利了mapstruct这个骚东西, 它是自动生成set方法进行类型转换的,不使用反射,效率极好而已友好。遂动手引入mapstruct,但是因为项目中原本就集成了lombok,引入mapstruct之后巨多问题,一顿骚操作之后,把注解包和功能包都直接放在依赖中之后,仍然会有偶尔无法正常生成方法实现的问题,如下:

    public XXXVO toXXXVO(XXXModel model) {
        if ( model == null ) {
            return null;
        }

        XXXVO xxxVO = new XXXVO();

        return xxxVO;
    }

很明显是没有set方法。。。but why?

猜测是这俩代码生成工具生效的顺序有问题,就是说,可能mapstruct先生成了实体映射方法,lombok随后才生成get set方法,所以会有这种状况发生。

然后网上搜lombok和兼容版本处理。。。无果。。。。然后我瞬间聪明了,同事有调好的版本哇!到此解决。答案是:mapstruct-1.3.0.Final,对应lombok-1.18.10 就可以正常使用了!done.


评论