来源:blog.csdn.net/sunnyzyq/article/details/119992746
前言
在你的工作中,有时候可能会看到 @Accessors(chain = true)
这样的注解,他是 lombok 插件包中的一个注解,那么它是什么意思呢?
1. @Accessors 源码
我们打开 @Accessors
的源码可以看到:
1)该注解主要作用是:当属性字段在生成 getter 和 setter 方法时,做一些相关的设置。
2)当它可作用于类上时,修饰类中所有字段,当作用于具体字段时,只对该字段有效。
该字段共有三个属性,分别是 fluent,chain,prefix,下面我们分别来说明下,他的意思分别是什么?
2. @Accessors 属性说明
2.1 fluent 属性
不写默认为false,当该值为 true 时,对应字段的 getter 方法前面就没有 get,setter 方法就不会有 set。
2.2 chain 属性
不写默认为false,当该值为 true 时,对应字段的 setter 方法调用后,会返回当前对象。
![6041e374265c940ebe244312c3143ebf.png](https://img-blog.csdnimg.cn/img_convert/6041e374265c940ebe244312c3143ebf.png)
2.3 prefix 属性
该属性是一个字符串数组,当该数组有值时,表示忽略字段中对应的前缀,生成对应的 getter 和 setter 方法。
比如现在有 xxName 字段和 yyAge 字段,xx 和 yy 分别是 name 字段和 age 字段的前缀。
那么,我们在生成的 getter 和 setter 方法如下,它也是带有 xx 和 yy 前缀的。
如果,我们把它的前缀加到 @Accessors
的属性值中,则可以像没有前缀那样,去调用字段的 getter和 setter 方法。
------
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!
推荐阅读
··································
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。