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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm 全局搜索没反应

    pycharm 全局搜索没反应修改快捷键占用右键–工具箱–属性设置–高级–系统功能快捷键

    2022年5月31日
    102
  • 关于勒索病毒“永恒之蓝”的解决方案

    关于勒索病毒“永恒之蓝”的解决方案关于勒索病毒“永恒之蓝”的解决方案(没什么新鲜的,就是通过注册表关闭445端口)(首先,最近发现我的文章会被其他网站盗版,所以特此声明,本文原作来自http://www.cnblogs.com/an

    2022年7月2日
    65
  • httpclient 4种关闭连接

    httpclient 4种关闭连接Java代码 HttpClient client = new HttpClient();  HttpMethod method = new GetMethod("http://www.apache.org");  try {    client.executeMethod(method);    byte[] responseBody = null;        responseBody = m…

    2022年7月22日
    8
  • 操作系统实验四 银行家算法

    操作系统实验四 银行家算法操作系统实验四银行家算法一、实验目的1、理解银行家算法。2、掌握进程安全性检查的方法与资源分配的方法。二、实验内容与基本要求编制模拟银行家算法的程序,并以下面给出的例子验证所编写的程序的正确性。进程已占资源最大需求数资源种类ABCDABCDP000120012P1100017

    2022年7月22日
    8
  • PyQuery笔记

    PyQuery笔记1、初始化1.1、字符串初始化frompyqueryimportPyQueryaspyhtml=”’&lt;div&gt;  &lt;ul&gt;    &lt;liclass="item-0"&gt;firstitem&lt;/li&gt;    &lt;liclass="item-1"&gt;&lt;ahref="htt

    2022年4月29日
    38
  • Vuethink正确安装过程

    Vuethink正确安装过程

    2021年10月13日
    38

发表回复

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

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