首页 > 其他分享 >Lombok的使用

Lombok的使用

时间:2025-01-13 16:58:33浏览次数:9  
标签:String private public 使用 注解 Lombok id name

目录

lombok简介

Lombok 是一个用于简化 Java Bean 开发的工具,它通过注解的方式帮助开发者减少冗长且重复的代码。Java 项目中常常需要编写一些技术含量不高但却必不可少的代码,例如 getter、setter、toString 方法,或是处理异常和 I/O 流的关闭等操作。这些代码往往既不具备实际功能,又会使代码显得臃肿且影响可读性。Lombok 通过在源代码中使用注解,能够在编译时自动生成这些必要的方法,从而大大减少手动编写这些冗余代码,提高开发效率并优化代码的简洁性。

使用步骤

1. 引入依赖
在pom文件中加入以下内容:

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<optional>true</optional>
</dependency>

2. 安装插件

打开 File -> Settings -> Plugins。
搜索 Lombok 并安装插件。
重启 IDE。

在这里插入图片描述

常用注解

1. @Getter / @Setter

注解在属性上,为属性提供get/set 方法;注解在类上,则为类中的所有属性提供 get/set方法。
默认生成的方法是public的,如果要修改方法修饰符可以设置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)

注解在类上:

@Getter
@Setter
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

在这里插入图片描述

注解在属性上:

public class User {
    @Getter
    @Setter
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

在这里插入图片描述

2. @ToString

自动生成 toString() 方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。

  • 可以这样设置不包含哪些字段,例如:@ToString(exclude = “id”) / @ToString(exclude = {“id”,“name”})
  • 如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)
  • 如果需要可以通过注释参数includeFieldNames来控制输出中是否包含的属性名称。,例如:@ToString(includeFieldNames= false)
@ToString
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

3. @Data

@Data 是一个综合性注解,包含了 @Getter、@Setter、@ToString、@EqualsAndHashCode 以及 @RequiredArgsConstructor 等功能,适用于需要快速生成完整 Java Bean 的情况。

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

在这里插入图片描述

4. @NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor

  • @NoArgsConstructor:生成无参构造函数。

当类中有final字段没有被初始化时,编译器会报错,此时可用@NoArgsConstructor(force = true),然后就会为没有初始化的final字段设置默认值 0 / false / null。对于具有约束的字段(例如@NonNull字段),不会生成检查或分配,因此请注意,正确初始化这些字段之前,这些约束无效。

@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

在这里插入图片描述

  • @AllArgsConstructor:生成包含所有字段的构造函数,默认不提供无参构造。
@AllArgsConstructor
public class User {
    private Long id;
    private String name;
    private final Integer age;
    private String email;
}

在这里插入图片描述

  • @RequiredArgsConstructor:生成构造方法(可能带参数也可能不带参数),如果带参数,这参数只能是以final修饰的未经初始化的字段,或者是以@NonNull注解的未经初始化的字段
@RequiredArgsConstructor
public class User {
    @NonNull
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

在这里插入图片描述
以上就是lombok常用注解的基本使用。
在这里插入图片描述

标签:String,private,public,使用,注解,Lombok,id,name
From: https://blog.csdn.net/m0_62909831/article/details/145106997

相关文章

  • 如何使用 Java 的 Spring Boot 创建一个 RESTful API?
    大家好,我是V哥,使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤其适合现代软件开发的需求,帮助你快速构建出高性能的后端服务。例如,在企业级应用中,通常需要开发大量的业务功能,并且要求系统具有可扩展......
  • 工程水印相机结合图纸,真实现场时间地点,如何使用水印相机,超简单方法只教一次!
    在工程管理领域,精准记录现场信息至关重要。水印相机拍照功能,为工程人员提供了强大的现场信息记录工具,助力工程管理和统计工程量,更可以将图片分享到电脑、分享给同事,协同工作。一、打开图纸打开手机版CAD快速看图中的一张图纸后,在底部工具栏点击“照片标注”功能,便能找到“水......
  • SELECT使用子查询
    目录1、子查询2、利用子查询进行过滤3、作为计算字段使用子查询4、小结1、子查询SELECT语句是SQL的查询。我们迄今为止所看到的所有SELECT语句都是简单查询,即从单个数据库表中检索数据的单条语句。查询(query):任何SQL语句都是查询。但此术语一般指SELECT语......
  • 使用postgis数据库进行多边形裁切线
    背景:有一份polyline的基础数据,有一个多边形,求出多边形内的所有polylinePostGIS参考手册:http://postgis.net/docs/reference.html1、polyline数据表、qgis可视化2、polygon数据表、qgis可视化3、使用ST_Covers,求出所有完全包含在面内的线,有一部分线是被多边形穿过了,此部分......
  • 推荐1款电脑端办公效率神器,使用过再也不烦恼!
    聊一聊日常办公中,少不了要跟PDF打交道。什么PDF裁剪,PDF格式转换,复制PDF文字等等。今天给大家分享这款软件,解suo了所有功能。无需会员,免费使用。软件介绍Jin山PDF下载软件后,需要安装。软件第一次打开使用时,需要联网。后面使用无网络也可以操作。安装位置可以自己选......
  • 手把手教你Charles抓包工具使用
    Charles简介Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request,response和HTTPheaders(包含cookies与caching信......
  • Git客户端(TortoiseGit)超全使用详解
    前言大家好,我是小徐啊。git是我们在开发Java应用的时候,要用到的代码版本管理工具。但是git本身自带的命令和gui工具,使用起来不是特别方便。TortoiseGit作为git的客户端,是一款非常实用的工具,能让我们以图形化的界面去操作git,今天就来介绍下TortoiseGit。文末附获取方式。如何使......
  • 使用html2canvas插件生成图片时,图片底部有一条白线的问题
    在使用html2canvas插件把页面生成图片时,如果背景不是白色的,会发现生成图片的底部会有一条白线。可能是由于像素渲染问题导致的。移动设备的屏幕像素密度(PixelDensity)较高,有时会导致在两个相邻元素之间出现细小的间隙或白线。解决方法将canvas画布高度调小1像素,生成图片之前先......
  • RocketMQ工具的使用方法
    RocketMQ简介启动rocketmq-Dashboard项目输入http://localhost:8888/#/即可到rocketmq界面学习网页:https://blog.csdn.net/m0_46486963/article/details/124495728整体横向菜单分为八个部分:OPS(运维):主要是设置nameserver和配置vipchannelDashboard(驾驶舱):控制台的dash......
  • 你可能不知道的 @ 在路径使用指南
    ......