Java - Lombok的添加和使用详解

目录

🐶6.1 lombok介绍

🐶6.2 lombok使用

1. 🥙添加方法一

2. 🥙添加方法2

3. 使用

🐶6.3 lombok常用注解

1. 🥙@Getter和@Setter

2. 🥙@ToString

3. 🥙@NoArgsConstructor和@AllArgsConstructor

4. 🥙@EqualsAndHashCode

5. 🥙@Data


🐶6.1 lombok介绍

Lombok通过增加一些“处理程序”,可以让java变得简洁、快速。

Lombok能以注解形式来简化java代码,提高开发效率。开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护。

Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

🐶6.2 lombok使用

1. 🥙添加方法一
  • 添加lombox的jar包:lombok-1.18.8.jar。

  • 为IDEA添加lombok插件(连接网络使用)

  • 安装完毕后,重启IDEA。

 

2. 🥙添加方法2

如果使用的是Maven,则可在项目的pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.12</version>
</dependency>
3. 使用

在IDEA中,按住 Alt+7或点左边框的structure 可以查看Lombok生成的代码

🐶6.3 lombok常用注解

1. 🥙@Getter和@Setter
  • 作用:生成成员变量的get和set方法。

  • 写在成员变量上,指对当前成员变量有效。

  • 写在类上,对所有成员变量有效。

注:

1、static修饰的变量不生成getter和setter方法

2、final修饰的变量只生成getter方法

2. 🥙@ToString
  • 作用:生成toString()方法。

  • 注解只能写在类上。

3. 🥙@NoArgsConstructor和@AllArgsConstructor
  • @NoArgsConstructor:无参数构造方法。

  • @AllArgsConstructor:满参数构造方法。

  • 注解只能写在类上。

4. 🥙@EqualsAndHashCode
  • 作用:生成hashCode()和equals()方法。

  • 注解只能写在类上。

 

5. 🥙@Data
  • 作用:生成get/set,toString,hashCode,equals,无参构造方法

  • 注解只能写在类上。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/325866.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker入门安装、镜像与容器下载 —— 基本操作

目录 前言 Docker 1. docker介绍 2. docker安装 3. docker基本使用 3.1 镜像下载 3.2 操作容器 前言 虚拟机&#xff1a;基于主机(物理机或虚机)的多服务实例。在该模式下&#xff0c;软件开发人员可以提供单个或多个物理机或虚机&#xff0c;同时在每个主机上运行多个服…

【务实笔记】总要朝前看

最近关注了鱼皮的编程导航&#xff0c;打算跟着鱼皮做一做项目&#xff0c;为研究生复试作准备。其实我原先已经有一个C高并发服务器的项目了&#xff0c;只不过最近很无奈&#xff0c;开始打造前端页面的时候&#xff0c;虚拟机Qt安装界面死活卡在了第一步&#xff1a; ┭┮﹏…

Java多线程并发篇----第十七篇

系列文章目录 文章目录 系列文章目录前言一、为什么要用 join()方法?二、线程唤醒(notify)三、线程其他方法四、进程五、上下文前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享…

用Python实现USB插拔测试

测试目的 我司的产品需要进行唤与睡眠状态之间的切换测试&#xff0c;而且需要进行长时间的压力测试。由于没有插拔USB的机械设备&#xff0c;所以我这边就需要设计一个能模拟USB插拔的测试环境。 设计 测试环境的设计只能根据现有资源来进行&#xff0c;所以我这边给出的方…

Html+Css+JavaScript实现完整的轮播图功能

概要 这个案例具备常见轮播图完整的功能&#xff0c;大家可以根据自己的需求去修改&#xff1b; 代码可以直接复制运行&#xff0c;需要安装sass 主要功能&#xff1a; &#xff08;1&#xff09;鼠标移入轮播图&#xff0c;左右两边的按钮出现&#xff0c;离开则隐藏按钮&a…

【前后端的那些事】开源!treeSelect树形结构数据展示

文章目录 tree-selector1. 新增表单组件2. 在父组件中引用3. 父组件添加新增按钮4. 树形组件4.1 前端代码4.2 后端代码 前言&#xff1a;最近写项目&#xff0c;发现了一些很有意思的功能&#xff0c;想写文章&#xff0c;录视频把这些内容记录下。但这些功能太零碎&#xff0c…

qemu、virt-manager克隆虚拟机

前提 必须先关闭虚拟机&#xff0c;不然克隆按钮是灰的&#xff0c;不能点击 克隆虚拟机 选择虚拟机--克隆 点击克隆 等待完成克隆 下图说明已经克隆成功 运行虚拟机

IntelliJ IDEA安装来了

IDEA 全称 IntelliJ IDEA&#xff0c;是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超…

接口interface--java学习笔记

认识接口 java提供了一个关键字interface&#xff0c;用这个关键字可以定义出一个特殊的结构&#xff1a;接口在接口里面定义的变量&#xff0c;不管加不加public static final修饰都默认为常量&#xff0c;必须赋初值在接口里面定义的方法&#xff0c;不管加不加public abstr…

Java 10_000 代表什么意思? 数字里面混夹着下划线?

先放一张图 &#xff0c;这到底是sleep了多久&#xff1f; public static void main(String[] args) {int a 10_000; System.out.println(a); // 10000} java 7 的 特性 &#xff1a;https://docs.oracle.com/javase/7/docs/technotes/guides/language/underscores-literals…

SCSI/UFS储存 基础

一、UFS协议 UniPro 的上面就是 UTP 和 SCSI 命令集&#xff0c;由于涉及的 SCSI 命令是很大一块需要单独来讲&#xff0c;所以这里只简单两笔。正如最开始提到的&#xff0c;UTP 和 SCSI 是属于 SCSI 这部分&#xff0c;在 JEDEC 的标准里能找到它们的具体说明。 UTP&#xf…

第一篇:node的背景及版本的检查

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 前言 Node.js 是一个基于 Chrome V8 JavaScript 引擎…

如何使用Docker一键部署WBO白板并实现固定公网地址远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板&#xff0c;允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

机器学习算法实战案例:VMD-LSTM实现单变量多步光伏预测

文章目录 机器学习算法实战案例系列答疑&技术交流1 数据处理1.1 导入库文件1.2 导入数据集1.3 缺失值分析 2 VMD经验模态分解3 构造训练数据4 LSTM模型训练5 预测 机器学习算法实战案例系列 机器学习算法实战案例&#xff1a;确实可以封神了&#xff0c;时间序列预测算法最…

《MyBatis》-- 流式查询内存性能优化-单条数据加工

阿丹-需求/场景&#xff1a; 在项目场景中涉及到数据二次加工。需要将单个对象数据转为按照规定的数据字典的转换。以及需要转换数据结构。从对象转换为按照规定的值和规则的数组。 因为要写入csv文件&#xff0c;涉及到文件的输出流。 之前讨论针对的解决方案&#xff1a; …

统计学R语言 实验3 点估计

统计学R语言 实验3 点估计 一、实验目的 1. 掌握理解点估计的相关概念和方法。 2. 掌握理解点估计的估计质量好坏判断方法。 3. 熟悉R语言等语言的集成开发环境。 二、实验分析与内容 某灯泡厂从某日生产的一批灯泡中抽取10个灯泡进行寿命试验&#xff0c;得到灯泡寿命&…

鸿蒙开发笔记(七):应用状态管理,LocalStorage及AppStorage的使用

开发者要实现应用级的&#xff0c;或者多个页面的状态数据共享&#xff0c;就需要用到应用级别的状态管理的概念。ArkTS根据不同特性&#xff0c;提供了多种应用状态管理的能力&#xff1a; LocalStorage&#xff1a;页面级UI状态存储&#xff0c;通常用于UIAbility内、页面间的…

FPGA 高端项目:基于 SGMII 接口的 UDP 协议栈,提供2套工程源码和技术支持

目录 1、前言给读者的一封信免责声明 2、相关方案推荐我这里已有的以太网方案本协议栈的 1G-UDP版本本协议栈的 10G-UDP版本本协议栈的 25G-UDP版本1G 千兆网 TCP-->服务器 方案1G 千兆网 TCP-->客户端 方案10G 万兆网 TCP-->服务器客户端 方案 3、该UDP协议栈性能4、…

JRT核心竞争力

如果说JRT业务脚本化和发部署简单和打印导出客户端都不足以抵挡Spring用的人多的优势的话。那么这一篇让DolerGet给你一个选择JRT的理由&#xff0c;借助JRT自我实现的ORM&#xff0c;JRT有能力完全把控更新数据和删除数据的口径&#xff0c;和能够准确知道哪些是热点数据&…

细说JavaScript内置对象(JavaScript内置对象详解)

一、String对象 1、简单上手 2、构造方法 3、其他方法 3.1、charAt() 3.2、indexOf() 3.3、split() 3.4、substring() 3.5、substr() 4、实际操作 二、Math对象 1、简单上手 2、对象属性 3、对象方法 4、实际操作 三、Date对象 1、简单上手 2、构造方法 3、实…