工作问题记录:使用Lombok的@Accessors(chain = true)注解后BeanCopier后值为null问题

工作问题记录:使用Lombok的@Accessors(chain = true)注解后BeanCopier后值为null问题

1 问题描述

项目中使用的MybatisPlus插件的代码自动生成功能,生成的实体类自动标记@Accessors(chain = true)注解,使用原来正常使用的Bean转换工具类查询结果为空,debug了一下,发现是在我自己的Bean转换公具类beanCopier.copy()方法出了问题。

在这里进行写操作时候,if判断不通过,无法写入数据到数组中
在这里插入图片描述

获取到的set数组为空
在这里插入图片描述

查看转换类的set方法发现有@Accessors(chain = true)注解的实体类里面的set方法有返回值。

在这里插入图片描述

正常编写的实体类:在这里插入图片描述
问题就出在返回值类型上,不加@Accessors(chain = true)注解的时候,类的set方法返回值类型是void,而加了注解之后返回值类型变为当前类。

解决方法:

  1. 将@Accessors(chain = true)注解删除
  2. 使用工具类手动传入BeanUtils.copyProperties(source, target),未测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值