java中的lombok
你好朋友,
一次又一次反对Java的观点之一是,我们必须写很多样板
我们简单的POJO类的setter和getter形式的代码,不必要地增加了 我们代码的长度。
为了解决这个问题,有一个名为Project Lombok的开源项目可以解决这个问题。
通过允许您只写一些注释,它将在.class中生成getter和setter。 是从Java文件生成的。
![](https://i-blog.csdnimg.cn/blog_migrate/6946fd219bb2d2d489f345242a037def.png)
所以…
在本快速教程中,我们将看到如何使用Lombok库摆脱设置者和获取者,
我们需要在POJO类中编写仅具有属性而没有逻辑的类。
为了了解Lombok如何帮助我们,我们将这篇文章分为两个部分:
–创建没有Lombok的POJO并手动添加设置器获取器
–创建POJO并使用Lombok库添加getters setter
创建没有Lombok的POJO并手动添加设置器获取器
让我们为Employee创建具有以下几个属性的类(不带Lombok),并将其命名为“ EmployeeWithoutLombok”:
package com.blogspot.javasolutionsguide.model;
/**
* @author JavaSolutionsGuide
*
*/
public class EmployeeWithoutLombok {
private int id;
private String firstName;
private String lastName;
private int age;
private String department;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
}
正如我们在上面看到的,我们必须为所有属性编写setter和getter。
现在要测试该类,让我们编写一个名称为“ TestEmployeeWithoutLombok”的测试类。
package com.blogspot.javasolutionsguide.lombokTest;
import com.blogspot.javasolutionsguide.model.EmployeeWithoutLombok;
/**
* @author JavaSolutionsGuide
*
*/
public class TestEmployeeWithoutLombok {
/**
*
* @param args
*
*/
public static void main(String[] args) {
//Test EmployeeWithoutLombok
EmployeeWithoutLombok employeeWithoutLombok = new EmployeeWithoutLombok();
employeeWithoutLombok.setFirstName("Gaurav");
employeeWithoutLombok.setLastName("Bhardwaj");
System.out.println("Employee First Name:"+employeeWithoutLombok.getFirstName() + "\n" +
"Employee Last Name:"+employeeWithoutLombok.getLastName());
}
}
输出:
员工名字:Gaurav
员工姓氏:Bhardwaj
因此,基本上我们在这里使用的是setter和getter,它们已在
“ EmployeeWithoutLombok”类。
创建POJO并使用Lombok库添加getters setter
要使用Lombok,我们需要:
–在我们的pom.xml中添加Lombok依赖项
–在我们的Eclipse中安装Lombok
–在我们的POJO上添加@ Getters,@ Setters批注
–创建一个Test类来测试设置者和获取者
在我们的pom.xml中添加Lombok依赖项
让我们首先在我们的Maven POM.xml中添加Lombok的依赖关系(请参阅下面XML中突出显示的部分)。
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.blogspot.javasolutionsguide</groupId>
<artifactId>lombakTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>lombakTest</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
在我们的Eclipse中安装Lombok
lombok jar附带了一个安装程序。我们只需要转到拥有lombok jar的文件夹并运行
使用以下命令执行jar。
java -jar lombok-1.18.4.jar
![](https://i-blog.csdnimg.cn/blog_migrate/26b5e48280f730fc9b04aa5737cdb22e.png)
一旦执行了以上命令,lombok将检测到我们机器上的所有IDE,就像我已经
蚀:
![](https://i-blog.csdnimg.cn/blog_migrate/cd7855c16e04048f2b53511bd7db05c4.png)
单击安装/更新,它将在Eclipse中安装Lombok。
我们可以转到About Eclipse部分,再次检查Eclipse是否启用了Lombok,并检查是否
已安装“ Lombok v1.18.4“ Enret Ferret”。 https://projectlombok.org/”
![](https://i-blog.csdnimg.cn/blog_migrate/7668735aac08c852a86884a1ed32740a.png)
在我们的POJO上添加@ Getters,@ Setters批注
现在让我们用Lombok注释重写POJO:
package com.blogspot.javasolutionsguide.model;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @author JavaSolutionsGuide
*
*/
@Getter
@Setter
public class EmployeeWithLombok {
private int id;
private String firstName;
private String lastName;
private int age;
private String department;
}
如您所见,我们在POJO类的顶部添加了@Getter和@Setter批注,
确保Lombok将在.class文件中添加setter和getter。
创建一个Test类来测试设置者和获取者
package com.blogspot.javasolutionsguide.lombokTest;
import com.blogspot.javasolutionsguide.model.EmployeeWithLombok;
/**
* Main class to test Lombok.
*
*/
public class TestEmployeeWithLombok
{
public static void main( String[] args ) {
//Test EmployeeWithLombok
EmployeeWithLombok employeeWithLombok = new EmployeeWithLombok();
employeeWithLombok.setFirstName("Gaurav");
employeeWithLombok.setLastName("Bhardwaj");
System.out.println("Employee First Name:"+employeeWithLombok.getFirstName() + "\n" +
"Employee Last name:"+employeeWithLombok.getLastName());
}
}
Output :
Employee First Name:Gaurav
Employee Last name:Bhardwaj
摘要
因此,在本教程中,我们学习了如何使用Lombok库生成setter和getter,结果
变成更干净的代码。
请随时提出任何意见,问题,或与您认为有帮助的人分享。
翻译自: https://www.javacodegeeks.com/2019/08/lombok-remove-boilerplate-setters-getters-java.html
java中的lombok