java中的lombok

你好朋友,

一次又一次反对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依赖项

–在我们的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


一旦执行了以上命令,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

java中的lombok_如何在Java中使用Lombok删除样板设置器吸气剂相关推荐

  1. 如何用java创建超链接_Java如何在PPT中的幻灯片上创建超链接?

    在Java编程中,如何在PPT中的幻灯片上创建超链接? 注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包.这里下载最新 ...

  2. java soap 头_如何在Java中添加Soap标头

    我有一个来自oracle的NO.net Web服务,要访问,我需要添加soap标头.如何在Java中添加soap标头? Authenticator.setDefault(new ProxyAuthen ...

  3. java 正则表达式 开头_如何在Java中修复表达式的非法开头

    java 正则表达式 开头 您是否遇到过这个令人难以置信的错误,想知道如何解决它? 让我们仔细阅读一下,研究如何解决表达式Java非法开头错误. 这是一个动态错误,这意味着编译器会发现某些不符合Jav ...

  4. java实现递归算法_如何在Java中实现二进制搜索算法而无需递归

    java实现递归算法 by javinpaul 由javinpaul 流行的二进制搜索算法的迭代实现,用于在排序数组中查找元素. (An Iterative implementation of the ...

  5. java lua_请问该如何在Java中使用Lua脚本语言?

    大话西游666 如何在Java中使用Lua脚本语言是本文要介绍的内容,主要是来学习LUA脚本语言在JAVA中如何来使用,Lua就不说了, 现在比较热门, 语法也很简单. 为了在Java中调用, 折腾了 ...

  6. java for 下标_Java如何在 Word 中设置上、下标

    上标是指比同一行中其他文字稍高的文字,而下标是指比同一行中其他文字稍低的文字.在生活中,我们常见的平方米.立方米等符号以及化学中的各种元素符号,都是利用上.下标来表示的.本文将介绍通过Free Spi ...

  7. 在oracle中使用存储过程,如何在ORACLE中使用JAVA存储过程(详解)

    如何在Oracle中使用Java存储过程 (详解) 一.如何缔造java存储过程? 通常有三种步骤来缔造java存储过程. 1.使用oracle的sql语句来缔造: e.g.使用create or r ...

  8. java jcombobox长度_如何在JToolBar中设定JComboBox的大小?

    如何在JToolBar中设定JComboBox的大小? 我设计了一个JToolBar,并且在上边添加了一个JComboBox,可是我发现这个JComboBox长度无法控制,它将JToolBar上剩余空 ...

  9. java 全局数组_如何在Java中声明全局数组?

    我有一个程序在Java中乘以两个矩阵.我在全局错误声明中发现了一些错误. 这里是我的代码如何在Java中声明全局数组? import java.util.Scanner; /**WAP in Java ...

最新文章

  1. 深入浅出统计学 第四五章 离散概率的计算与分布
  2. boost::edmonds_karp_max_flow用法的测试程序
  3. 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
  4. 终于!华为在欧盟注册新商标“Harmony”;亚马逊AWS宣布张文翊“新官上任”;甲骨文失去竞购100亿美元国防部云计算合同资格...
  5. ModelArts黑科技揭秘|模型智能评估、诊断,让模型来个“体检
  6. 蓝桥杯 ALGO-37 算法训练 Hankson的趣味题
  7. 开课吧:C++入门必知必会的基础知识汇总
  8. Python实现快乐的数字
  9. 如何在小程序wxml文件中编写js代码
  10. Win11 WSA 安卓子系统 下载安装更新
  11. K均值聚类算法(K-Means)
  12. 微信小程序测试注意事项
  13. php 关注微信触发事件,微信api 关注事件
  14. 费雪耶兹(Fisher–Yates) 也被称作高纳德( Knuth)随机置乱算法
  15. 聊聊jvm的内存结构, 以及各种结构的作用
  16. 认识Innodb存储引擎
  17. Spark 常用算子详解(转换算子、行动算子、控制算子)
  18. 智能家居水传感器行业调研报告 - 市场现状分析与发展前景预测
  19. 人脸识别接口_DS-K5603-Z 海康威视人员通道人脸识别组件 1万人脸库 10.1英寸LCD触摸显示屏_DS-K5603-Z_DS-K5603-Z...
  20. 清新黑板手绘PPT模板

热门文章

  1. NOIP2017洛谷P3953:逛公园(分层图最短路、dp、拓扑)
  2. AT4518-[AGC032C]Three Circuits【欧拉回路】
  3. 信息学奥赛一本通1349-最优布线问题
  4. 【堆】【DP】Niyaz and Small Degrees(luogu 7600[APIO 2021 T3]/luogu-CF1119F)
  5. 吃豆人(luogu 7472/NOI Online 2021 普及组 T2)
  6. 【最短路】【SPFA】电车 (luogu 1346)
  7. 组合数学与数论函数专题
  8. 11、mysql数据表中数据的查询(3)
  9. JavaScript Function.arguments 属性详解
  10. vue 动态修改路由参数