javaLombok之@Accessors用法及说明 |
||||||||||
+ 目录
java Lombok之@Accessors用法之前用Lombok,只是为了省去写get和set方法,在学习的时候,突然发现,Accessors这个特殊的属性注解竟然还有如此强大的功能,特此为自己的无知记录一下。
fluent属性fluent:流畅的,流利的意思,设置为true,则getter和setter方法的方法名都是基础属性名,且setter方法返回当前对象。
?
可以看到,当我们使用get或者set方法的时候,方法名都是基础的属性名称,非常的简洁
chain属性chain:链式的,设置为true,则setter方法返回当前对象。
?
如上图可以看出,和常规的get和set方法名称一致www.lu0.com,不过区别就是set方法返回的是对象名称,更加的直观,适合对象赋值时的连续赋值参数。
prefix属性
?
可以看出,方法中的get和set方法均过滤了相关的前缀属性,看起来更加的简洁。
Lombok @Data @Accessors注解遇到的坑碰到个反射的问题,原数据是一个 map,对应数据库表的键值对,此时需要将这个 map 转换成 Entity,所以会用到反射。 用了 Apache BeanUtils,用了 BeanMap 都是不行,无法反射。 如下代码
?
此时你会发现其实没问题,但是输出结果如下:
此时办法已经试遍了,后来修改 Entity,将 lombok 注解去掉,发现就OK了。此时不用想,肯定是遇到坑了,然后排查之后发现是 @Accessors 的问题,将其去掉就OK了。 如下:
?
|