本篇简单介绍lombok的作用以及lombok的常用注解和eclipse安装lombok
一.lombok的介绍
Lombok 是一个 Java 库,它作为插件安装至编辑器中,其作用是通过简单注解来精简代码,以此达到消除冗长代码的目的。
1.1 优点
1) 通过注解自动生成成员变量的 getter、setter 等方法,使代码简洁
2) 修改类变量名时,无需关注其 getter、setter 等方法
1.2 缺点
降低源码文件的可读性
1.3 原理
从 Java 6 开始,javac 就支持 JSR 269 API 规范,而 Lombok 实现 JSR 269 Pluggable Annation Processing API 规范。
当我们编写代码并保存后,编辑器会自动编译源码文件,在这个过程中,源码先被转化为 AST。
然后,Lombok 插件解析 AST 是否存在 Lombok 的注解。如果存在则修改 AST ,使其生成注解对应的代码。
最终将修改的 AST 解析并生成字节码文件。
二.lombok的安装(两种方式)
第一种方式:maven引入
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven</artifactId>
<version>1.16.20.0</version>
</dependency>
1.下载 lombok.jar第二种方式:jar包引入
(https://projectlombok.org/download.html)2.将 lombok.jar 放在eclipse安装目录下,和 eclipse.ini 文件平级的。
这里写图片描述
3.运行lombok.jar
在lombok.jar 的目录下,运行:
java -jar lombok.jar
a. 运行后会弹框如下框,直接点确定
这里写图片描述
b. 点specify location 按钮,选择eclipse的安装目录,选择到eclipse层即可。
这里写图片描述
按如下图步骤点击install/Update即可
这里写图片描述
c. 成功后如下图:
这里写图片描述
d.如果想看看是否真的安装成功,可以在 eclipse.ini 中看看,我的环境是多了一行(-javaagent:D:\Program Files\eclipse\lombok.jar)
重启eclipse,再clean project。
三.注解介绍
Lombok 常用的注解如下:
@Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter :注解在属性上;为属性提供 setting 方法
@Getter :注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
@Cleanup : 可以关闭流
@Builder : 被注解的类加个构造者模式
@Synchronized : 加个同步锁
@SneakyThrows : 等同于try/catch 捕获异常
@NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
@Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。
@toString:注解在类上;为类提供toString方法(可以添加排除和依赖);
官方文档https://projectlombok.org/features/index.html
4.2 案例演示
本次测试使用 Ecplise 编辑器。
- public class User {
- private int id;
- private String name;
- private String password;
- private Date birthday;
- }
当添加注解保存文件后,Ecplise 编辑器的 Outline 视图结果如下:
我们还可以使用 jd-gui 等反编译工具查看源码,结果如下: