消除冗长Java代码的工具——Lombok详解

文章目录

  • 消除冗长Java代码的工具——Lombok详解
    • 什么是Lombok
    • Lombok的作用
    • Lombok常用注解
    • Lombok安装

什么是Lombok

之前一段时间去公司实习,发现了一个十分便捷的小工具Lombok。那么Lombok是个什么呢?Lombok会利用注解自动生成 pojo 中烦人的getter、setter方法、构造函数等,使我们无需手动去建立,帮助我们简化Java 代码的工具。

Lombok的作用

简单来说,比如我们新建了一个User类,

通常情况下我们需要手动去建立getter、setter方法,构造函数等,这就出现了大量冗长的样板式代码。Lombok的作用就是为了省去这一步骤,让代码整洁易读。

使用Lombok的@Data注解后:

在我们没有创建这些类的情况下,@Data为我们提供了大量方法

Lombok常用注解

@Setter
编译自动生成setter方法,final修饰的变量不包含在内,举例:

@Setter
public class TestEntity {private String name;private Integer age;private final String type = "type";}

反编译的类如下:

public class TestEntity {private String name;private Integer age;private final String type = "person";public TestEntity() {}public void setName(String name) {this.name = name;}public void setAge(Integer age) {this.age = age;}}
注解 说明
@Getter 编译自动生成getter方法,final修饰的变量不包含在内,同上
@NoArgsConstructor 编译自动生成一个空的构造函数
@AllArgsConstructor 编译自动生成一个全参数的构造函数
@RequiredArgsConstructor 编译自动将标记为@NoNull的属性生成一个构造函数
@ToString 生成全属性的toString方法
@EqualsAndHashCode 编译自动生成equals和hashcode
@Data 编译自动生成所有属性的getter和非final修饰的setter
@Builder 构造Builder模式的结构。通过内部类Builder()进行构建对象

Lombok安装

Maven依赖

<dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.10</version></dependency>
</dependencies>

Intellij idea直接安装Lombok插件即可

消除冗长Java代码的工具——Lombok详解相关推荐

  1. 泛型java 代码讲解_Java泛型详解

    2516326-5475e88a458a09e4.png 一,打破砂锅问到底 泛型存在的意义? 泛型类,泛型接口,泛型方法如何定义? 如何限定类型变量? 泛型中使用的约束和局限性有哪些? 泛型类型的继 ...

  2. Java代码中的注释详解

    2019独角兽企业重金招聘Python工程师标准>>> java注释详解 声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责 ...

  3. Java反编译工具Jad详解

    Jad(JAva Decompiler)是一个Java的反编译器,可以通过命令行把Java的class文件反编译成源代码. 如果你在使用编写代码的时候遇到找不到源代码的第三方库,而且你又需要看看这个库 ...

  4. java书写开头,JAVA代码书写规范汇总详解

    一般原则 尽量使用完整的英文描述符 采用适用于相关领域的术语 采用大小写混合增强可读性 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一 避免使用长的名字 避免使用类似的名字,或者仅仅是大小 ...

  5. 代码质量管理工具SonarQube详解

    SonarQube的目的是对软件项目的代码进行分析,在开发人员提交代码之际就尽早发现代码的质量问题,并提示(或强制要求)开发人员改进. SonarQube由以下几个部分组成: 1. SonarQube ...

  6. 斗地主发牌编程PHP,JAVA代码之斗地主发牌详解

    package com.oracle.demo01; import java.util.ArrayList; import java.util.Collections; import java.uti ...

  7. Java基准测试工具JMH详解

    Java基准测试工具JMH详解 1.JMH概述 1.1 JMH简介 1.2 JMH与JMeter区别 1.3 JMH注解说明 2.JMH验证 2.1 创建项目 2.2 引入依赖 2.3 启动异常解决 ...

  8. 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区"异步社区&quo ...

  9. java build path entries 为空_TOOLFK工具-在线JAVA代码执行工具

    本文要推荐的[TOOLFK]在线JAVA代码执行工具 ,提供JAVA代码在线执行功能. 網站名稱:ToolFk 網站鏈結:https://www.toolfk.com/ 工具链接:https://ww ...

最新文章

  1. VTK:椭圆圆柱用法实战
  2. Unity3D Input按键系统
  3. mysql中约束_【MySQL】:MySQL中四大约束
  4. 1 京东_推荐好友拿好礼 | 每1积分可兑换30元京东电子卡
  5. android gradle 语法,Gradle 1.语法
  6. PHP、C#、通用的DES加密
  7. 第一章 计算机系统概述 1.1 计算机发展史 [计算机组成原理笔记]
  8. [在windows上使用Unix工具]cygwin
  9. 如何测量C#代码的运行时间
  10. java的核心类库_Java核心类库
  11. NSGA-Ⅱ算法C++实现(测试函数为ZDT1)
  12. android 圆形自定义进度条,Android实现自定义圆形进度条
  13. 三星内存编码_看编号 识内存
  14. R实战之从头到尾分析广告数据集
  15. sop流程图模板_sop是什么意思(sop标准作业流程模板)
  16. python怎样批量修改文件大小_使用python对文件夹下的照片进行批量修改尺寸
  17. 公司开发的APP,如何生成一个二维码,供客户下载使用
  18. 教您在MathType输入三角形符号
  19. 修改已经上线的小程序名称
  20. 《MySQL DBA修炼之道》——1.3 查询执行过程概述

热门文章

  1. Python学习笔记第一天----字符串和列表
  2. 渠道面前,SaaS露出“素颜”
  3. 敏捷个人2012.1月份线下活动报道:谈谈职业
  4. Capacitor Plugin创建
  5. controll层跳转页面_Spring mvc框架 controller间跳转 ,重定向 ,传参
  6. 叶酸修饰靶向性紫杉醇 PGA-TAXOL/羟基靶向修饰透明质酸接枝姜黄素 OH-HA-CUR/羧基靶向修饰透明质酸接枝姜黄素 COOH-HA-CUR
  7. 微信小程序:多功能起名查重工具
  8. 快速创建树 算法 treeCreate treeview
  9. Eclipse里exadel studio pro与其他工具的冲突
  10. 网易云音乐与阿里音乐牵手!后版权时代,在线音乐拼什么?