lombok 文档翻译

@Getter

可选元素:

修饰符和类型 可选元素 描述
boolean lazy
Getter.AnyAnnotation[] onMethod 这里列出的任何注释都放在生成的方法上。
AccessLevel value 如果你想让你的getter不公开,你可以在这里指定一个替代访问级别。

使用示例:

 @Getter(
     lazy = true,
     onMethod = @_({@JsonIgnore}),
     value = AccessLevel.PROTECTED
 )
 private final String name = "";

说明:

  • Lazy:默认为:false,如果设置 lazy 则 该属性必须为 final

  • onMethod:默认为{},此处出现的注解会在生成的方法上面,最常见的使用是结合JackJson,做序列化标注

    • JDK7-:@Getter(onMethod=@__({@AnnotationsGoHere}))
    • JDK8+:@Getter(onMethod_={@AnnotationsGohere})//注意后面的下划线onMethod
  • AccessLevel:默认为AccessLevel.PUBLIC 可以手动修改方法的访问级别,配置参数为 枚举类:AccessLevel中属性

@Setter

可选元素

修饰符和类型 可选元素 描述
Setter.AnyAnnotation[] onMethod 这里列出的任何注释都放在生成的方法上。
Setter.AnyAnnotation[] onParam 这里列出的任何注释都放在生成的方法参数上。
AccessLevel value 如果你希望你的setter是非公开的,你可以在这里指定一个替代访问级别。

使用示例:

@Setter(value = AccessLevel.PRIVATE)
private String trueName;

说明:

  • 该属性配置和@Getter 经常结合使用

  • onParam :该属性为参数的注解,此处可以和@NotNull 配合使用控制参数不为空,该属性配置同 onMethod

@NonNull

可选元素:无

使用示例:

@NonNull private String trueName;
private String getTrueName(@NonNull String name)

说明:

  • 该注解可以用在 字段、方法、参数 上 常见用于 字段 和 参数
  • 如果是字段注解,那么生成的get 、构造方法 都会进行 null 检测
  • 如果是参数注解,在方法的开头会加入一个空值检测。
  • 该注解检测到空值后会抛出NullPointerException

@ToString

可选元素

修饰符和类型 可选元素 描述
boolean callSuper toString在输出中包含超类实现的结果。
boolean doNotUseGetters 通常情况下,如果 getters是可用的,那么被调用。
java.lang.String[] exclude 这里列出的任何字段将不会被打印在生成的toString实现中。
boolean includeFieldNames 在打印时包括每个字段的名称。
java.lang.String[] of 如果存在,明确列出要打印的字段。

调用示例:

@ToString(callSuper = true, exclude = {"id"})
@Data
public class TestModel {
    private int id;
    private String trueName;
}

说明:

  • callSuper:默认false
  • doNotUseGetters:默认false 也就是会调用 get 方法
  • exclude: 默认为空
  • includeFieldNames:默认为true 会打印字段名称
  • of:默认为全部字段,即打印全部字段

@EqualsAndHashCode

可选元素

修饰符和类型 可选元素 描述
boolean callSuper 调用超类的实现equals,并hashCode计算对该类中的字段值。
boolean doNotUseGetters 通常情况下,如果getter是可用的,那么被调用。
java.lang.String[] exclude 这里列出的任何字段在生成equalshashCode实现中都不会被考虑在内。
java.lang.String[] of 如果存在,则明确列出要用于身份的字段。
EqualsAndHashCode.AnyAnnotation[] onParam 这里列出的任何注释都放在的生成的参数equalscanEqual

调用示例

@EqualsAndHashCode
public class TestModel {
    private int id;
    private String trueName;
}

说明:

  • callSuper :默认false

  • doNotUseGetters:默认false 也就是会调用 get 方法

  • exclude:默认为空

  • of:默认为全部字段

  • onParam:该注解用以 在传入的Object object 参数注解

@AllArgsConstructor

可选元素

修饰符和类型 可选元素 描述
AccessLevel access 设置构造函数的访问级别。
AllArgsConstructor.AnyAnnotation[] onConstructor 这里列出的任何注释都放在生成的构造函数中。
java.lang.String staticName 如果设置,生成的构造函数将是私有的,并且用包装真实构造函数的相同参数列表生成额外的静态“构造函数”。

说明:生成一个全指标构造函数。全参数构造函数需要类中每个字段的一个参数。

@NoArgsConstructor

可选元素

修饰符和类型 可选元素 描述
AccessLevel access 设置构造函数的访问级别。
boolean force 如果true,将所有最终字段初始化为0 / null / false。
NoArgsConstructor.AnyAnnotation[] onConstructor 这里列出的任何注释都放在生成的构造函数中。
java.lang.String staticName 如果设置,生成的构造函数将是私有的,并且用包装真实构造函数的相同参数列表生成额外的静态“构造函数”。

说明:生成一个无参数的构造函数。如果由于final字段的存在而无法写入这样的构造函数,将会生成错误消息。

@RequiredArgsConstructor

可选元素

修饰符和类型 可选元素 描述
AccessLevel access 设置构造函数的访问级别。
RequiredArgsConstructor.AnyAnnotation[] onConstructor 这里列出的任何注释都放在生成的构造函数中。
java.lang.String staticName 如果设置,生成的构造函数将是私有的,并且用包装真实构造函数的相同参数列表生成额外的静态“构造函数”。

说明:生成一个具有所需参数的构造函数。必需的参数是final和约束的字段,如@NonNull

@Data

可选元素

修饰符和类型 可选元素 描述
java.lang.String staticConstructor 如果你指定一个静态构造函数名,那么生成的构造函数将是私有的,而创建一个静态工厂方法,其他类可以用来创建实例。

说明:

  • 相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode

  • 为所有字段生成getter,一个有用的toString方法,以及hashCode和equals实现,用于检查所有非瞬态字段。还将为所有非final字段以及构造函数生成setter。

  • staticConstructor:默认:没有静态构造函数,而是普通的构造函数是公共的。如果你指定一个静态构造函数名,那么生成的构造函数将是私有的,而创建一个静态工厂方法,其他类可以用来创建实例。建议这个名字:“of”,就像这样:public @Data(staticConstructor =“of”)类Point {final int x,y; }.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,201评论 9 118
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,651评论 18 139
  • 此文为本人学习guice的过程中,翻译的官方文档,如有不对的地方,欢迎指出。另外还有一些附件说明、吐槽、疑问点,持...
    李眼镜阅读 3,492评论 2 5
  • 1 我家老二和小区里的一个小宝年龄相同,常在一起玩耍。两个小家伙互以好朋友相称,我和小宝妈也因此关系较近。 两个孩...
    坐井闲话阅读 368评论 0 2
  • 萬路千水終為徑,只渡緣人惶陌庭。 濁者自在糊塗性,清者自有清者心。 緣法自然終汲聆,待看慧思濁理淨。 圖表塗語塗心...
    漂红残月阅读 212评论 0 0