1.@Accessors(chain = true)注解的含义
公司原来的实体类上有lombok的@Accessors(chain = true)注解
网上百度了一下这个注解,改注解会将我们的setter方法的返回值进行修改,我将这个编译后的class类反编译一下得到下面的代码
我们的setId方法就变成了当前类的返回值,不是void了
2.bean拷贝工具中的报错
我们了解了上面的注解的含义,看一下拷贝类中报的错误
我们的该方法为null,我们先看一下setter是怎么生成的,在该类的107行生成目标的setter,然后我们点进去
这里生成类的属性描述列表,也就是外面setters对应的类型,然后我们看他是如何处理的
在520行我们看到他会拿set开头的方法,看该方法的返回值是否是void,如果不是的话则不进行处理,所以我们的setter是null
3.解决方法
如果该注解没有对程序造成影响,我们则可以把它注释掉,如果会对程序造成影响,我们可以使用下面的工具
[code]org.springframework.beans.BeanUtils.copyProperties(source, target);