你好朋友,

一次又一次反对Java的观点之一是,我们必须写很多样板

我们简单的POJO类的setter和getter形式的代码,不必要地增加了 我们代码的长度。

为了解决这个问题,有一个名为Project Lombok的开源项目可以解决这个问题。

通过允许您只写一些注释,它将在.class中生成getter和setter。 是从Java文件生成的。


所以…

在本快速教程中,我们将看到如何使用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 EmployeeWithoutLombokEmployeeWithoutLombok 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依赖项

–在我们的日食中安装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>

在我们的日食中安装Lombok

lombok jar附带了一个安装程序。我们只需要转到拥有lombok jar的文件夹,然后运行

使用以下命令执行jar。

java -jar lombok-1.18.4.jar


一旦执行了以上命令,lombok将检测到我们机器上的所有IDE,就像我已经

日食:


单击安装/更新,它将在Eclipse中安装Lombok。

我们可以转到About Eclipse部分,再次检查我们的Eclipse是否启用了Lombok,并检查是否

已安装“ Lombok v1.18.4“ Enret Ferret”。 https://projectlombok.org/”


在我们的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 EmployeeWithLombokEmployeeWithLombok 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删除样板安装程序获取器相关推荐

  1. java中的lombok_如何在Java中使用Lombok删除样板设置器吸气剂

    java中的lombok 你好朋友, 一次又一次反对Java的观点之一是,我们必须写很多样板 我们简单的POJO类的setter和getter形式的代码,不必要地增加了 我们代码的长度. 为了解决这个 ...

  2. 如何在Java中处理ConcurrentModificationException? 在循环中从ArrayList中删除元素时要当心...

    从Java中从ArrayList中删除元素时常见的问题之一是ConcurrentModificationException. 如果您对索引使用经典的for循环或增强的for循环,并尝试使用remove ...

  3. java整数的因式分解_如何在Java中找到整数的质数-因式分解

    java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...

  4. 如何在Java中找到整数的质因数–因式分解

    编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的质数因子是将精确地除以给定数字的所有质数. 例如,35的素数因 ...

  5. java文件中获取创建日期_如何在Java中获取文件的上次修改日期

    java文件中获取创建日期 Sometimes we need to get the file last modified date in Java, usually for listeners li ...

  6. 如何在 Java 中实现最小生成树算法

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  7. java 关闭jpanel_如何在Java中关闭Jpanel程序

    我正在制作一个Java游戏,我需要一些关于如何操作的建议.如何在Java中关闭Jpanel程序 目前我使用2个不同的.java文件来制作游戏.我有一个扩展JFrame的主程序,我调用扩展JPanel的 ...

  8. 29.什么是ES 的id查询?如何使用id查询?如何在java中进行ID查询?嘻哈的简写笔记——Elastic Search

    1.什么是ES 的id查询?如何使用id查询? Id查询就是根据一个id进行查询,非常简单: GET /book/novel/ + id GET /book/novel/2 含义:这是查询一个id为2 ...

  9. java 二叉查找树_如何在Java中实现二叉搜索树( binary search tree)?

    二叉搜索树或BST是一种流行的数据结构,用于保持元素的顺序.二叉搜索树是二叉树,其中左子节点的值小于或等于父节点,右子节点的值大于或等于父节点.由于它是二叉树,它只能有0,1或2个子节点.二叉搜索树之 ...

最新文章

  1. linux--nfs 网络文件共享
  2. Fedora相关(一)
  3. graylog2 架构--转载
  4. matlab gui设计实例_S-Funciton应用实例
  5. php代码导入sql,php导入SQL文件(示例代码)
  6. jsp自定义标签详解(2)
  7. 特斯拉蛇形充电机器人_特斯拉将内存设备锁入手套箱内 确保哨兵模式/TeslaCam数据安全...
  8. hbase读写数据流程
  9. Leetcode题目:Reverse String
  10. python 随机种子 时间_python课堂整理24----时间和随机数模块
  11. linus系统安装mysql_linux安装MYSQL
  12. EEGLAB使用流程
  13. java不使用科学计数法_java不用科学计数法
  14. 5.GitHub pytorch sentiment analysis(Transformer版)
  15. 2022-2028中国蛋白糖果市场现状研究分析与发展前景预测报告
  16. 计算机和数学专业哪个难,学计算机专业难吗 数学很差能学吗
  17. Boot Loader 的设计与实现
  18. nhibernate mysql配置_(转)NHibernate各种数据库配置写法
  19. 数据库 ----- 实验五:题目:实验五 数据库设计与数据库编程
  20. python 决策模型_python小白之路:第十七章 决策树模型

热门文章

  1. 【树链剖分】LCA(P4211)
  2. Hadoop入门(五)IO操作
  3. 如何快速开发一个 Dubbo 应用
  4. Java IO: 其他字节流(上)
  5. JavaFX之TableView的MenuButton
  6. mybatis中,collection配置后查询只显示一条记录
  7. 又一大波笑到肾抽筋,笑出六块腹肌的段子
  8. 异步任务---SpringBoot
  9. 蓝桥杯JAVA省赛2013-----B------3(振兴中华)
  10. php 常用的日期函数,常用php日期函数总结