​

前言

我们在Java项目中会为变量编写大量get/set方法,有没有办法省略不写呢?这就是Lombok要帮我们做的事情。下面让我们快速了解一下Lombok和Lombok的功能。

Lombok是什么?

Lombok是个java库。并提供IDE插件形式提供代码简化能力,只需要一个注解,就可以不需要实现getter、setter 或 equals 方法。

如何使用Lombok?

使用Lombok非常简单,只需要三步1、安装Lombok插件2、添加依赖项3、在类中添加注解

为了清晰易懂,然我们通过Idea和Eclipse这两个IDE编辑器来分别说明。

如何安装Lombok

Idea安装Lombok,所以不需要安装,这里我们讲一下之前的老版本

2020.3之后的版本已经内置了Lombok,所以不需要安装,这里我们讲一下2020.3之前的老版本安装Lombok插件

  1. 打开File > Settings > Plugins中的Browse repositories
  2. 搜索Lombok Plugin
  3. 安装Lombok Plugin并重启idea即可完成安装

eclipse/myeclipse/sts安装Lombok

下载lombok.jar,然后把lombok.jar放到eclipsemyeclipse/sts的根目录中并运行它,就可以打开

一分钟快速简化代码,使用Lombok消灭getter、setter和equals方法|Java 开发实战_ide点击install等待安装完成即可。是不是非常简单。

添加Lombok依赖

maven方式

  1. jdk1.8和以下版本使用该依赖
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
</dependencies>
  1. jdk9及以上版本
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</path>
</annotationProcessorPaths>

gradle方式

repositories {
mavenCentral()
}

dependencies {
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'

testCompileOnly 'org.projectlombok:lombok:1.18.20'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.20'
}

ant方式

<javac srcdir="src" destdir="build" source="1.8">
<classpath location="lib/lombok.jar" />
</javac>

在ivy中配置lombok

<dependencies>
<dependency org="org.projectlombok" name="lombok" rev="1.18.20" conf="build->master" />
</dependencies>

在代码中使用Lombok

Lombok支持的注解和功能

列举几个常用的注解

  1. @NonNull

永远不会NullPointerException

  1. @Cleanup

自动资源管理,相当于close()

  1. @Getter

实现字段的get方法

  1. @Setter

实现字段的set方法

  1. @ToString

实现toString方法

  1. @EqualsAndHashCode

实现hashCode和equals

  1. @Data

相当于几个注解一起:@ToString, @EqualsAndHashCode, @Getter在所有字段和@Setter、@RequiredArgsConstructor

代码中使用示例

@Getter
@Setter
public class Demo implements Serializable {
private String id;
}

这样,我们不需要写set和get方法就可以调用getId(),setId(String id)同样的方法了。

本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接