IDEA lombok插件的安装(快速安装)和常用注解介绍

news/2024/7/10 23:23:27 标签: java, jquery, js

首先添加maven依赖

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

开始安装插件

1、Ctrl+Alt+S打开设置选项(或按路径打开)

2.对应位置查找lombok插件并安装在这里插入图片描述
3.重启编辑器

Lombok的常用注解
路径
@Data
@Getter/@Setter
@ToString
@NoArgsConstructor, @AllArgsConstructor

讲解

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

可以查看编译后生成的 class 文件,可以看到 Lombok 自动生成的代码
如果想要确认自动生成了什么,可以看编译后的 class 文件更加直观。

@Getter/@Setter
如果觉得@Data太过粗暴不够精细,可以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法.

查看编译后生成的 class 文件,可以看到只生成了空参构造器,以及 id 的 getter/setter

@ToString
类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。通过exclude属性指定忽略字段不输出,

@ToString 使用 exclude 指定忽略 id 字段不输出
编译后class文件可以看到只生成了空参构造器,以及 id 的 getter/setter

类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。通过exclude属性指定忽略字段不输出,

@ToString 使用 exclude 指定忽略 id 字段不输出

@xxxConstructor
@NoArgsConstructor: 无参构造器
@AllArgsConstructor: 全参构造器
设置自动生成 无参构造器 以及 全参构造器

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

缺点:
不支持多种参数构造器的重载
由于环境问题可能会导致lombok失效,如果遇到这种情况,直接不要使用lombok


http://www.niftyadmin.cn/n/1854868.html

相关文章

转 Pycharm及python安装详细教程

转 &#xff1a; http://blog.csdn.net/qq_29883591/article/details/52664478 首先我们来安装Python 1、首先进入网站下载&#xff1a;点击打开链接&#xff08;或自己输入网址https://www.python.org/downloads/&#xff09;&#xff0c;进入之后如下图&#xff0c;选择图中红…

屏幕坏点检测图片_如何分辨智能电视屏幕的好坏?掌握这三招,自己也能轻松检测...

大家都知道一句话:“买电视就是买屏”虽然这句话有些片面了,不是很正确,但是也从侧面验证了电视屏幕的重要性。然而在选购了新的电视机后,我们该如何保证拿到手的这台电视屏幕质量是过关的呢?没有专业测试工具的用户又该如何对电视进行屏幕测试呢?今天小编就和大家来分享一下…

公用的update

包结构&#xff1a; jdbc.properties路径&#xff1a;/jdbc-1/src/jdbc.properties 内容&#xff1a; #连接MySQL jdbc.userroot jdbc.passwordroot jdbc.driverClasscom.mysql.jdbc.Driver jdbc.jdbcUrljdbc:mysql://127.0.0.1:3306/jdbc1#连接Oracle #jdbc.userscott #jdbc…

Exception in thread “main“ java.lang.NullPointerException 读取本地json文件找不到,SpringBoot访问本地静态资源

Exception in thread "main" java.lang.NullPointerExceptionat com.jzx.JsonDemo.main(JsonDemo.java:12)在application.properties配置中也进行了修改 spring.resources.static-locationsclasspath:/static/最后发现json文件在target中未找到 可以通过重新编译&am…

c#程序框架-基于视图的数据列表查询

从一开始没太注意数据的查询到后面慢慢的发现&#xff0c; 一些数据表的关联已太乱了&#xff0c;才觉得应该整理整理了&#xff0c; 有的表&#xff08;或连接视图&#xff09;&#xff0c;被管理后台用&#xff0c;被前台用&#xff0c;被app用&#xff0c;被wap用&#xff0…

kettle数据库链接共享(或本地配置文件)

在一个文件里&#xff0c;新建所有需要共享的数据库链接。 然后右键数据库链接&#xff0c;点共享。 之后重启Kettle可以完成共享&#xff0c;或者重复共享&#xff0c;取消共享操作。 共享操作主要是修改了&#xff0c;kettle本地的配置文件shared.xml 有需要的小伙伴&…

刷题总结——太空飞行计划(最大权闭合子图用最大流解决)

题目&#xff1a; 题目描述 W 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合 E{E1&#xff0c;E2&#xff0c;…&#xff0c;Em}&#xff0c;和进行这些实验需要使用的全部仪器的集合 I{I1&am…

kettle报错 GC overhead limit exceeded(内存溢出问题)

遇到了线上运行kettle运行kettle脚本时&#xff0c;报错 java.lang.OutOfMemoryError: GC overhead limit exceeded 原因是本地测试的内存设置和线上内存设置不同&#xff0c;可以修改下线上配置的内存大小。 Spoon.bat&#xff08;windows端&#xff09;和Spoon.sh&#xff0…