什么是Lombok?
Lombok旨在通过注解来简化Java代码的编写。它不是标准的Java API,而是一个编译时注解处理器。它在编译源代码时会进行处理,生成代码,从而减少了开发人员需要编写的模板代码数量。
安装Lombok
将Lombok库添加到你的项目依赖中。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version> <!-- 根据你的需求选择版本 -->
<scope>provided</scope>
</dependency>
基本功能
自动生成Getter和Setter方法
通过@Getter
和@Setter
注解来自动生成JavaBean的getter和setter方法,
import lombok.Getter;
import lombok.Setter;
public class Person {
@Getter @Setter private String name;
@Getter @Setter private int age;
}
上述代码中,我们使用了@Getter
和@Setter
注解来为Person
类的name
和age
字段生成getter和setter方法。这减少了冗长的getter和setter代码。
自动生成构造函数
使用@AllArgsConstructor
注解生成包含所有字段的构造函数,或使用@NoArgsConstructor
注解生成无参构造函数。
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private String name;
private int age;
}
自动生成equals和hashCode方法
使用@EqualsAndHashCode
注解生成equals
和hashCode
方法,
import lombok.EqualsAndHashCode;
@EqualsAndHashCode
public class Person {
private String name;
private int age;
}
这会为Person
类生成基于所有字段的equals
和hashCode
方法。
示例代码
import lombok.Getter;
import lombok.Setter;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;
@Getter @Setter
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class Person {
private String name;
private int age;
}
使用了Lombok的各种注解来简化代码,创建一个具有getter和setter方法、构造函数以及equals
和hashCode
方法的Person
类。