@Data和@Builder一起使用时报错

今天测试controller时,遇到一个问题,报错如下图。
在这里插入图片描述
正好同事也遇到这个问题,经过他的提醒,是@Data和@Builder一起使用时会将类的无参构造方法覆盖掉。当时为了测试就把@Builder删掉了,可是实际上在service的测试类中用到了build,测试完controller还是要想办法解决这个冲突问题。
那解决这个问题自己写一个无参的构造方法不就OK?结果自己写了一个无参构造方法,编译就无法通过,报错如下图。
在这里插入图片描述一顿百度,发现是自己手动写的这个无参的构造方法和@Builder冲突,解决方法是在类中重写无参构造方法,防止与lombok的注解冲突,在无参构造方法上面加入@Tolerate注解

当时问题是解决了,但是今天再次测试,又遇上一个问题,某个字段does not belong to它所在的类。
在controller中我是有一段代码将两个类进行转换的,使用beanCopyUtils.convertToList。在类中,也是有一个映射,@ConvertField(targetField = “xxxx”),将对应字段与要转换的类进行映射。
所以以上解决方式便存在问题了,其实我也不知道为什么只有这一个字段出了问题,其它都能正常映射。最后解决方法是添加了全参和无参的注解,@AllArgsConstructor、@NoArgsConstructor,把之前手写的无参构造方法删掉,得以解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值