问题
描述
项目中同时使用了mapstruct ,在最终生成的jar反编译中发现,impl里仅new了一个对象,并未对属性赋值,最终结果为null。
复现
转换
生成,可以看到最终生成的实现里仅new了一个GetSchoolVO,并没有赋值。
请求接口中可以看到有一条数据,但是属性全部为null
分析
多次测试后,发现如果clear target后,生成属性全部为null,若不clear,直接删除添加红框代码后,可以对属性赋值,由此可以感知为编译时产生的问题。
看到了另一篇博客提到了lombok,再次查看自己的pom文件,发现在build的时候,lombok与MapStruct问题,调整后解决。
改之前
正确顺序
实测解决
测试
实现,成功赋值
接口