@Accessors
获取企业版 Lombok
@Accessors
用于 getter 和 setter 的更流畅的 API。
@Accessors在 lombok v0.11.0 中作为实验功能引入。
Experimental
实验性的,因为:- 我们可能希望将这些功能整合到更完整的属性支持概念中。
- 新功能 - 请求社区反馈。
- 打开功能请求:以小写字母后跟大写字母开头的属性的命名行为。一半的规范、工具和 lombok 用户更喜欢名为
uLimitintogetULimit(包括 lombok)的字段,而另一半则更喜欢getuLimit.@Accessors可能涉及解决此请求的任何更新。 - 开放功能请求:对命名访问器的更多控制;例如解决创造性命名的布尔属性:
boolean wasRunning变成boolean wasRunning()而不是boolean isWasRunning(),以及更广泛的前缀支持。@Accessors如果此功能请求得到解决,将涉及。 @Accessors目前没有从字段@Accessors注释“级联”到类级@Accessors注释,但它确实“级联”到lombok.config. 改变这一点并不困难,但向后不兼容。它不太可能破坏很多现有代码,但这需要在功能退出实验状态之前做出决定。
Overview
@Accessors注解用于配置 lombok 如何生成和查找 getter 和 setter 。
默认情况下,lombok 遵循getter 和 setter的bean 规范pepper:例如,字段名称的getter getPepper。然而,有些人可能想打破bean 规范,以便最终得到更好看的 API。@Accessors让你这样做。
一些程序员喜欢在他们的字段中使用前缀,即他们写fPepper而不是pepper. 我们强烈反对这样做,因为您无法对前缀的有效性进行单元测试,并且重构脚本可能会将字段转换为局部变量或方法名称。此外,如果您希望此信息立即可见,您的工具(例如您的编辑器)可以以某种方式呈现标识符。不过,您也可以列出项目使用的前缀 via @Accessors。
@Accessors因此有 3 个选项:
-
fluent– 一个布尔值。如果为true,则 getter 为pepperjustpepper(),而 setter 为pepper(T newValue)。此外,除非指定,否则chain默认为true。
默认值:假。 -
chain– 一个布尔值。如果为true,则生成的 setter 返回this而不是void。
默认值:false,除非fluent=true,然后默认值:true。 -
prefix– 字符串列表。如果存在,字段必须以这些前缀中的任何一个作为前缀。依次将每个字段名称与列表中的每个前缀进行比较,如果找到匹配项,则去除前缀以创建字段的基本名称。在列表中包含一个空字符串是合法的,它将始终匹配。对于字母字符,前缀后面的字符不能是小写字母,即pepper即使与 prefix 也不匹配p,但pEpper会匹配(并且意味着该字段的基本名称是epper)。
@Accessors注解在类型和字段上是合法的
;如果存在,则应用的注释是字段上的注释,否则是类上的注释。当@Accessors字段上的注释存在时,该字段所在的类上也存在的任何@Accessors注释都将被完全忽略,即使对于未在该字段上配置的属性也是如此@Accessors。这与在未指定任何显式注释
lombok.config时用作回退默认值的任何配置键形成对比。@Accessors
With Lombok
import lombok.experimental.Accessors;
|
Vanilla Java
public class AccessorsExample {
|
Supported configuration keys:
-
lombok.accessors.chain= [true|false](默认值:假) -
如果设置为
true,则任何没有@Accessors注解或有注解但该注解没有chain参数的显式值的类都将表现得好像@Accessors(chain = true)存在一样。 -
lombok.accessors.fluent= [true|false](默认值:假) -
如果设置为
true,则任何没有@Accessors注解或有注解但该注解没有fluent参数的显式值的类都将表现得好像@Accessors(fluent = true)存在一样。 -
lombok.accessors.prefix+=字段前缀(默认:空列表) -
这是一个列表属性;可以使用
+=运算符添加条目。可以使用-=操作符删除从父配置文件继承的前缀。任何没有@Accessors注释的类,或者有注释但该注释没有prefix参数的显式值的任何类都将表现得好像存在一样。@Accessors(prefix = {prefixes listed in configuration}) -
lombok.accessors.flagUsage= [warning|error](默认:未设置) -
如果配置,Lombok 会将任何使用标记
@Accessors为警告或错误。
Small print
最近的@Accessors注解也用于 lombok 中查找 getter 的各种方法,例如@EqualsAndHashCode.
如果提供了前缀列表并且某个字段不是以其中一个开头,则 lombok 会完全跳过该字段,并会生成警告。
转发无需备注,如有错误,恳求读者指出,发送到wu13213786609@outlook.com。

浙公网安备 33010602011771号