Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。
Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。
Lombok的优缺点
优点:
- 能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率
- 让代码变得简洁,不用过多的去关注相应的方法
- 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等
缺点:
- 不支持多种参数构造器的重载
- 虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性
@Data
@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@Getter/@Setter
如果觉得@Data太过残暴(因为@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性)不够精细,可以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法。
@NonNull
该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。
@Cleanup
该注解能帮助我们自动调用close()方法,很大的简化了代码。
@EqualsAndHashCode
默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。
@ToString
类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。
通过将includeFieldNames
参数设为true,就能明确的输出toString()属性。这一点是不是有点绕口,通过代码来看会更清晰些。
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
无参构造器、部分参数构造器、全参构造器。Lombok没法实现多种参数构造器的重载。
相关推荐
Lombok是一款Java库,它通过注解处理器在编译时自动插入代码,从而简化Java对象的创建和维护。它的核心目标是减少样板代码,提高代码的可读性和简洁性。Lombok提供了各种注解,例如`@NonNull`、`@Data`、`@...
Lombok 是一个 Java 开发工具,它通过注解处理器在编译时自动插入代码,以减少样板代码。Lombok 的最新版本是 1.18.24,这个版本修复了一些已知问题,并可能引入了新的特性或改进。在 Java 开发中,Lombok 提供的...
Lombok 是一个非常实用的Java库,它通过提供一系列注解来简化代码,尤其是在处理getter、setter、equals、hashCode、toString等常规样板代码时。Lombok 的目标是减少Java开发中的冗余代码,提高开发效率,使代码更加...
1. **编译器支持**: 要使Lombok注解生效,需要在编译时使用支持Lombok的编译器插件,如Maven的maven-compiler-plugin或Gradle的lombok插件。 2. **IDE支持**: 为了在IDE中看到注解生成的方法,需要安装并配置Lombok...
Lombok是一款非常流行的Java库,它通过提供一系列的注解,极大地简化了Java代码的编写,尤其是减少了getter、setter、equals、hashCode、toString等方法的编写。这个"lombok-jar包.zip"文件包含了Lombok的jar包,是...
Lombok是一款非常受欢迎的Java库,它通过注解的方式简化了Java代码的编写,特别是减少了getter、setter、构造函数以及equals、hashCode和toString等方法的编写。Lombok官网提供的插件进一步增强了开发体验,允许...
lombok 2023
Lombok 是一个非常受欢迎的 Java 开发工具,它通过注解的方式简化了 Java 代码,尤其是数据类的编写。在给定的压缩包文件 "lombok-plugin-2021.3.zip" 中,我们找到了适用于 IntelliJ IDEA 2021.3 版本的 Lombok ...
Lombok是一款Java库,它通过注解处理器在编译时自动插入代码,简化了Java对象的创建和维护,从而减少了冗余的getter、setter、equals、hashCode和toString方法的编写。Lombok的主要目标是使Java代码更加简洁,提高...
Lombok是一个Java库,它通过注解处理器在编译时自动插入代码,简化了Java对象的创建和维护。它的核心目标是减少样板代码,提高代码的可读性和简洁性。Lombok 1.18.12是该库的一个版本,它包含了一系列的更新和改进,...
改变:lombok配置键lombok.addJavaxGeneratedAnnotation现在默认为falsetrue而不是true。Oracle在JDK9的发布中打破了这个注解,迫使这个重大改变。 改变:lombok配置键lombok.anyConstructor....
Lombok是一款非常实用的Java库,它通过注解的方式简化了Java代码的编写,特别是减少了getter、setter、构造函数、equals、hashCode以及toString等方法的编写。Lombok的核心理念是减少样板代码,让代码更加简洁易读。...
Java Lombok是一个非常实用的Java库,它通过提供一系列注解来简化代码,尤其是那些通常在getter、setter、构造函数、equals、hashCode和toString方法中出现的样板代码。Lombok的目标是减少Java开发者编写冗余代码的...
Mac系统,从github上或者其他地方获取项目,在idea上跑起来总是无法识别get和set方法,试过网上很多教程无非是安装lombok插件和勾选Enable annotation processing等都不行,还是手动安装靠谱,直接把jar包导入项目中...
**Lombok 框架详解** Lombok 是一个开源的 Java 库,旨在简化 Java 代码,特别是针对那些被称作“Plain Old Java Objects”(POJOs)的类。这些类通常包含许多用于初始化、 getter 和 setter 方法,以及构造函数等...
**Idea Lombok 插件详解** 在Java开发中,我们常常会遇到大量冗余的getter、setter、equals、hashCode、toString等方法的编写,这不仅增加了代码量,还降低了代码的可读性。为了解决这个问题,Lombok库应运而生。...
**Lombok插件详解** Lombok是一款非常实用的Java编程工具,它的主要目的是为了简化Java对象的创建和维护,减少冗余的样板代码。通过在源代码中添加特定的注解,Lombok可以在编译时自动生成getter,setter,toString...
Lombok 是一个 Java 开发工具,它通过注解处理器自动为类添加getter、setter、构造器等常用方法,极大地减少了代码量,提升了开发效率。Lombok 的插件 "lombok-plugin-0.34-2020.2.zip" 是针对特定版本的 IntelliJ ...