Lombok插件的安装和使用「建议收藏」

Lombok插件的安装和使用「建议收藏」IDEA中安装Lombok插件打开IDEA的Setting–>选择Plugins选项–>选择Browserepositories–>搜索lombok–>点击安装–>安装完成重启IDEA–>安装成功后重启IDEA引入lombok的jar包<dependency&

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

IDEA中安装Lombok插件

打开IDEA的Setting –> 选择Plugins选项 –> 选择Browse repositories –> 搜索lombok –> 点击安装 –> 安装完成重启IDEA –> 安装成功
在这里插入图片描述
引入lombok的jar包

   <dependency>
    	<groupId>org.projectlombok</groupId>
    	<artifactId>lombok</artifactId>
    	<version>1.18.4</version>
    	<scope>provided</scope>
    </dependency>

Lombok优缺点

优点:
1. 能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率
2. 让代码变得简洁,不用过多的去关注相应的方法
3. 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等

缺点:
1. 不支持多种参数构造器的重载
2. 虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度

Lombok注解

@Data
注解在类上,会为类的所有属性自动生setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,
则不会为该属性生成setter方法。

@Getter/@Setter
如果觉得@Data太过残暴(因为@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性)不够精细,可以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法

@ToString
使用该注解Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序)
通过将includeFieldNames参数设为true,就能明确的输出toString()属性。

@NoArgsConstructor
无参构造器

@RequiredArgsConstructor
部分参数构造器

@AllArgsConstructor
全参构造器

@NonNull
该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。

@Cleanup
该注释自动帮助我们调用close()方法。例如:在使用io流时加上该注解就不用在finally里关闭流了

@EqualsAndHashCode
默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。

例子: 实例类省略了get,set,toString方法以及无参和全参构造函数
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197258.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月7日 下午1:43
下一篇 2025年9月7日 下午2:15


相关推荐

  • 面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?

    面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?什么是消息队列你了解过么?

    2022年6月2日
    32
  • 基于C#的WinForm窗体美化(无须美工功底)「建议收藏」

    基于C#的WinForm窗体美化(无须美工功底)「建议收藏」基于C#的WinForm窗体美化(无须美工功底)在近期的实训中,学习到了许多精髓的小知识。接下来我会发布几篇博客,分享我的开发经验。在设计面向对象的UI层界面时,常常因为WinForm自身的窗体界面不够美观而去反复修改各种控件的位置。当然在不同的Windos中,WinForm所具有的主题也是不同的,但对于颜控的我们,这些也是无法满足的。所以今天我分享一个关于简单的对窗体进行美化的一个小技巧。

    2022年5月28日
    40
  • Netty教程-Netty介绍

    Netty教程-Netty介绍Netty 是什么 Netty 是一个高性能 异步事件驱动的 NIO 框架 它提供了对 TCP UDP 和文件传输的支持 作为一个异步 NIO 框架 Netty 的所有 IO 操作都是异步非阻塞的 通过 Future Listener 机制 用户可以方便的主动获取或者通过通知机制获得 IO 操作结果 支持 HTTP WebSocket Protobuf BinaryTCP 和 UDP Netty 已经被很多高性能

    2026年3月18日
    2
  • glassfish安装教程_Glass Shatters

    glassfish安装教程_Glass Shatters一、下载页面:https://glassfish.java.net/downloads/3.1.2.2-final.html二、下载地址:http://download.java.net/glassfish/3.1.2.2/release/glassfish-3.1.2.2-ml.zip三、下载后解压到/srv/目录下.四、修改启动脚本:/srv/glassfi…

    2022年8月20日
    10
  • 如何更改Linux的ssh端口

    如何更改Linux的ssh端口

    2021年10月8日
    101
  • MySQL 5.7root用户密码修改[通俗易懂]

    MySQL 5.7root用户密码修改[通俗易懂]在MySQL5.7password字段已从mysql.user表中删除,新的字段名是“authenticalion_string”.选择数据库:usemysql;更新root的密码:updateusersetauthentication_string=password(‘新密码’)whereuser=’root’andHost=’localhost’;刷新权限:fl…

    2022年6月25日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号