消除冗长Java代码的工具——Lombok详解
消除冗长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详解相关推荐
- 泛型java 代码讲解_Java泛型详解
2516326-5475e88a458a09e4.png 一,打破砂锅问到底 泛型存在的意义? 泛型类,泛型接口,泛型方法如何定义? 如何限定类型变量? 泛型中使用的约束和局限性有哪些? 泛型类型的继 ...
- Java代码中的注释详解
2019独角兽企业重金招聘Python工程师标准>>> java注释详解 声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责 ...
- Java反编译工具Jad详解
Jad(JAva Decompiler)是一个Java的反编译器,可以通过命令行把Java的class文件反编译成源代码. 如果你在使用编写代码的时候遇到找不到源代码的第三方库,而且你又需要看看这个库 ...
- java书写开头,JAVA代码书写规范汇总详解
一般原则 尽量使用完整的英文描述符 采用适用于相关领域的术语 采用大小写混合增强可读性 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一 避免使用长的名字 避免使用类似的名字,或者仅仅是大小 ...
- 代码质量管理工具SonarQube详解
SonarQube的目的是对软件项目的代码进行分析,在开发人员提交代码之际就尽早发现代码的质量问题,并提示(或强制要求)开发人员改进. SonarQube由以下几个部分组成: 1. SonarQube ...
- 斗地主发牌编程PHP,JAVA代码之斗地主发牌详解
package com.oracle.demo01; import java.util.ArrayList; import java.util.Collections; import java.uti ...
- Java基准测试工具JMH详解
Java基准测试工具JMH详解 1.JMH概述 1.1 JMH简介 1.2 JMH与JMeter区别 1.3 JMH注解说明 2.JMH验证 2.1 创建项目 2.2 引入依赖 2.3 启动异常解决 ...
- 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格
本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区"异步社区&quo ...
- java build path entries 为空_TOOLFK工具-在线JAVA代码执行工具
本文要推荐的[TOOLFK]在线JAVA代码执行工具 ,提供JAVA代码在线执行功能. 網站名稱:ToolFk 網站鏈結:https://www.toolfk.com/ 工具链接:https://ww ...
最新文章
- VTK:椭圆圆柱用法实战
- Unity3D Input按键系统
- mysql中约束_【MySQL】:MySQL中四大约束
- 1 京东_推荐好友拿好礼 | 每1积分可兑换30元京东电子卡
- android gradle 语法,Gradle 1.语法
- PHP、C#、通用的DES加密
- 第一章 计算机系统概述 1.1 计算机发展史 [计算机组成原理笔记]
- [在windows上使用Unix工具]cygwin
- 如何测量C#代码的运行时间
- java的核心类库_Java核心类库
- NSGA-Ⅱ算法C++实现(测试函数为ZDT1)
- android 圆形自定义进度条,Android实现自定义圆形进度条
- 三星内存编码_看编号 识内存
- R实战之从头到尾分析广告数据集
- sop流程图模板_sop是什么意思(sop标准作业流程模板)
- python怎样批量修改文件大小_使用python对文件夹下的照片进行批量修改尺寸
- 公司开发的APP,如何生成一个二维码,供客户下载使用
- 教您在MathType输入三角形符号
- 修改已经上线的小程序名称
- 《MySQL DBA修炼之道》——1.3 查询执行过程概述
热门文章
- Python学习笔记第一天----字符串和列表
- 渠道面前,SaaS露出“素颜”
- 敏捷个人2012.1月份线下活动报道:谈谈职业
- Capacitor Plugin创建
- controll层跳转页面_Spring mvc框架 controller间跳转 ,重定向 ,传参
- 叶酸修饰靶向性紫杉醇 PGA-TAXOL/羟基靶向修饰透明质酸接枝姜黄素 OH-HA-CUR/羧基靶向修饰透明质酸接枝姜黄素 COOH-HA-CUR
- 微信小程序:多功能起名查重工具
- 快速创建树 算法 treeCreate treeview
- Eclipse里exadel studio pro与其他工具的冲突
- 网易云音乐与阿里音乐牵手!后版权时代,在线音乐拼什么?