在本指南中,我们将了解什么是 Lombok 项目,使用 Eclipse 或 STS 等 IDE设置Lombok ,一个简单的java Lombok maven 示例和Lombok项目的主要功能。
1. 什么是Lombok项目
Project Lombok是一个成熟的 java 库,可以插入您的编辑器或 IDE,如 eclipse、STS、IntelliJ 等,也可以插入 maven、gradle、ant 等构建工具。Lombok 库帮助您的 ide 忽略为您的 pojo 生成样板代码类。这是在编译期间完成的。
Lombok项目的主要目的是减少开发人员任务列表中的样板问题。它有助于使您的代码更简洁,并加快开发时间。
2. Project Lombok 如何与 IDE 配合使用
下图说明了 java 项目 Lombok 的工作原理:
- 将Lombok Java 库插件到您的 IDE。
- 使用Lombok注释来编写您的 POJO 类。
- Lombok将在编译时自动生成样板代码(getter、setter、toString() 等),因此开发人员无需手动为 setter、getter 编写代码,覆盖 toString()、equals()、 hashcode(),使用参数和默认构造函数等生成。
3. 在 Eclipse 或 STS 中设置 Lombok
- 如果我们使用 Eclipse IDE 或 Spring tool Suite (STS),我们需要先获取 Lombok jar。最新版本位于 Maven 中央存储库。对于我们的示例,我们使用 的是lombok-1.18.10.jar。
- 双击下载 的 lombok.jar 文件。
- 安装程序 UI 打开。
- 指定您的 IDE Eclipse.exe 或 STS.exe 路径的位置,单击安装/更新按钮。
如果安装成功,我们可以退出安装程序。
安装插件后,我们需要重启IDE,确保Lombok配置正确。我们可以在 eclipse 中查看这个 go to help 选项点击 About eclipse:
4. 将 Lombok 添加到 Maven
最后剩下的部分是确保Lombok二进制文件位于编译器类路径中。使用 Maven,我们可以将依赖项添加到 pom.xml中。
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
5.一个简单的Java lombok示例:
@Getter
您可以使用和/或 注释任何字段 @Setter
,以让 lombok 自动生成默认的 getter 或 setter。以下示例说明了如何将@Getter
和/或@Setter
Lombok 注释添加到类的顶部,以及它如何减少源文件中的样板。
让我们看看没有使用 Lombok 和使用 Lombok 的 POJO 的普通 Java POJO 类,在下面的示例中,从技术上讲,右手边和左手边的代码是相等的,当我们在 POJO 类开发人员中使用 Lombok 时,无需编写锅炉车牌代码。
一个没有龙目岛的java Pojo
public class User {
private Long id;
private String username;
private String firstName;
private String lastName;
private String email;
private LocalDate lastUpdated;
private boolean active;
User(){} //default constructor
//All args constructor
public User(Long id, String username) {
super();
this.id = id;
this.username = username;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
// other setters getters
/* toString(), hashCode(),...etc
* 50+ more lines of code */
}
龙目岛 java Pojo
import java.time.LocalDate;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String username;
private String firstName;
private String lastName;
private String email;
private LocalDate lastUpdated;
private boolean active;
}
6. 测试 Lombok Pojo 类
import java.time.LocalDate;
public class SetterGetterDemo {
public static void main(String[] args) {
User user = new User();
user.setId(1L);
user.setFirstName("Peter");
user.setLastName("Milanovich");
user.setActive(true);
user.setUsername("peterm");
user.setLastUpdated(LocalDate.now());
System.out.println("Id : " + user.getId());
System.out.println("Username : " + user.getUsername());
System.out.println("Fisr Name : " + user.getFirstName());
System.out.println("Last Name : " + user.getLastName());
System.out.println("is user active? : " + user.isActive());
System.out.println("last updated date : " + user.getLastUpdated());
}
}
6.1。输出结果
Id : 1
Username : peterm
Fisr Name : Peter
Last Name : Milanovich
is user active? : true
last updated date : 2019-12-19
7. 结论
在本指南中,我们通过一个简单的示例介绍了如何使用 IDE 设置 Lombok 并使用 maven 配置 Lombok。