Lombok中@Accessors注解的作用是什么

发布时间:2021-06-22 17:50:53 作者:Leah
来源:亿速云 阅读:1335

这篇文章将为大家详细讲解有关Lombok中@Accessors注解的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

@Accessors注解官方给出的解释是:面向getter和setter的更流畅的API。

实验性

官方给出实验(设计)原因是:

当前状态:中性-可能会有一些变化。这些更改旨在向后兼容,但应从实验功能开始:

实验性

@Accessors批注用于配置lombok生成和查找getter和setter的方式。

默认情况下,lombok遵循针对getter和setter的bean规范:例如,名为Pepper的字段的getter是getPepper。但是,有些人可能希望打破bean规范,以得到更好看的API。 @Accessors允许您执行此操作。

一些程序员喜欢在其字段中使用前缀,即他们写的是fPepper而不是Pepper。我们强烈建议您不要这样做,因为您无法对前缀的有效性进行单元测试,并且重构脚本可能会将字段转换为局部变量或方法名称。此外,如果您希望该信息立即可见,则您的工具(例如您的编辑器)可以以某种方式来处理标识符。不过,您也可以通过@Accessors列出项目使用的前缀。

因此@Accessors具有3个选项 :

@Accessors注释在类型和字段上合法;如果存在,则适用的注释是该字段上的注释,否则为该类上的注释。当在字段上存在@Accessors批注时,即使在字段@Accessors上未配置的属性,也将忽略该字段所在的类中也存在的任何@Accessors批注。这与任何lombok.config配置键相反,如果未指定任何显式@Accessors批注,这些配置键将作为后备默认值。

Lombok 代码块
import lombok.experimental.Accessors;
import lombok.Getter;
import lombok.Setter;

@Accessors(fluent = true)
public class AccessorsExample {
  @Getter @Setter
  private int age = 10;
}

class PrefixExample {
  @Accessors(prefix = "f") @Getter
  private String fName = "Hello, World!";
}
public class AccessorsExample {
  private int age = 10;
  
  public int age() {
    return this.age;
  }
  
  public AccessorsExample age(final int age) {
    this.age = age;
    return this;
  }
}

class PrefixExample {
  private String fName = "Hello, World!";
  
  public String getName() {
    return this.fName;
  }
}
支持的配置键:
lombok.accessors.chain = [true | false] (default: false)

如果设置为true,则任何没有@Accessors批注或没有@Accessors批注但该批注不具有chain参数的显式值的类,都将像出现@Accessors(chain = true)一样起作用。

lombok.accessors.fluent = [true | false] (default: false)

如果设置为true,则任何没有@Accessors批注或没有@Accessors批注但该批注没有fluent参数的显式值的类都将像@Accessors(fluent = true)一样存在。

lombok.accessors.prefix += a field prefix (default: empty list)

这是一个列表属性;可以使用+ =运算符添加条目。可以使用-=运算符删除从父配置文件继承的前缀。任何没有或没有@Accessors批注的类都可以,就好像存在@Accessors(prefix = {在配置中列出的前缀})一样。 

lombok.accessors.flagUsage = [warning | error] (default: not set)

如果已配置,Lombok会将@Accessors的任何用法标记为警告或错误。

小提示:

最近的@Accessors 注解还用于lombok中用于各种寻找类的getter方法,例如@EqualsAndHashCode。

@EqualsAndHashCode。 如果提供了前缀列表,并且字段不是以其中一个开头,则该字段将被lombok完全跳过,并会生成警告。

关于Lombok中@Accessors注解的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. lombok注解有哪些
  2. 在lombok中如何正确使用 @Accessors

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

lombok @accessors

上一篇:Java中怎么获取 Word指定图片的坐标位置

下一篇:Java多线程常见面试题有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》