• @Accessors 注解详解



    前言

    在你的工作中,有时候可能会看到@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 方法调用后,会返回当前对象。

    2.3 prefix 属性

    该属性是一个字符串数组,当该数组有值时,表示忽略字段中对应的前缀,生成对应的 getter 和 setter 方法。

    比如现在有 xxName 字段和 yyAge 字段,xx 和 yy 分别是 name 字段和 age 字段的前缀。

    那么,我们在生成的 getter 和 setter 方法如下,它也是带有 xx 和 yy 前缀的。

    如果,我们把它的前缀加到 @Accessors 的属性值中,则可以像没有前缀那样,去调用字段的 getter和 setter 方法。

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    题解 Codeforces Round #814 (Div. 1/2)
    GAN笔记:利普希茨连续(Lipschitz continuity)
    sql注入--handler语句--一文详细解说其原理和方法
    PLC液压控制系列之比例流量阀结构分析
    大数据技术之Hive+Flume+Zookeeper+Kafka详解
    EMC测试项目
    springboot导入excel(POI)
    分布式本地缓存 ehcache 缓存同步复制
    Mysql005:函数
    C#:实现迪杰斯特拉算法​(附完整源码)
  • 原文地址:https://blog.csdn.net/egegerhn/article/details/126098297