引言

以前的 Java 项目中,充斥着太多毫无技术含量的代码,比如类属性的 getter/setter/toString 方法,还有就是异常处理、I/O 流的关闭操作等。这些样板代码虽然可以通过 IDEA 自动生成,但是还是有些繁琐,而且影响代码的简洁和美观,为此 Lombok 插件应运而生。

Lombok 安装

maven 中引入相应的 Lombok 依赖包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>

Lombok 的 provided 意思是设置 Lombok 只在编译阶段生效,不需要打入包中。Lombok 会在编译期将带 Lombok 注解的 Java 文件正确编译为完整的 Class 文件。

IDEA 安装 Lombok 插件

点击File-- Settings设置界面,点击 Plugins插件安装,在 Marketplace 插件市场中搜索 Lombok 插件,找到后进行下载安装

IDEA 设置 Lombok

点击File-- Settings设置界面,开启 AnnocationProcessors,如下:

开启该项是为了让 Lombok 注解在编译阶段起到作用

Lombok 注解

Lombok 插件有很多不同功能注解,但使用频率最高的是 @Data 注解,这个注解集五个注解功能于一体,如下:

  • @Data:作用于类上,是以下注解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
import lombok.*;
import lombok.extern.log4j.Log4j; @Data
public class TestDemo {
private String name;
private int age ;
private String email;
private String address;
private String password;
private boolean funny;
}

通过添加一个 @Data 注解,Lombok 插件会为我们自动生成构造器方法、setter/getter 方法、toString()方法等。

  • @Getter/@Setter

    作用类上,生成所有成员变量的 getter/setter 方法;作用于成员变量上,生成该成员变量的 getter/setter 方法。可以设定访问权限及是否懒加载等。

  • @ToString

    作用于类,覆盖默认的 toString() 方法,可以通过 of 属性限定显示某些字段,通过 exclude 属性排除某些字段。

  • @EqualsAndHashCode

    作用于类,覆盖默认的 equals 和 hashCode

  • @NonNull

    主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。

  • @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

    作用于类上,用于生成构造函数。有 staticName、access等属性。staticName属性一旦设定,将采用静态方法的方式生成实例,access属性可以限定访问权限。

  • @NoArgsConstructor

    生成无参构造器;

  • @RequiredArgsConstructor

    生成包含 final 和 @NonNull 注解的成员变量的构造器;

  • @AllArgsConstructor

    生成全参构造器

  • @Builder:作用于类上,将类转变为建造者模式

  • @Log:作用于类上,生成日志变量。针对不同的日志实现产品,有不同的注解

Lombok 插件安装和使用的更多相关文章

  1. IDEA中的lombok插件安装以及各注解的详细介绍

    IDEA中的lombok插件安装以及各注解的详细介绍 其实对于我们来说, 写好实体类后,直接用快捷方式生成get,set方法,还有 构造方法就行了,但是对于字段比较多的, 如果修改一个属性的话,就要再 ...

  2. lombok插件安装

    eclipse安装lombok插件 lombok注解介绍 记得最后,加入的配置文件中的jar包,最好写成相对路径,这样.eclipse移动位置后,不会报错.

  3. 日志lombok插件安装及配置

    安装lombok插件 下载Lombok.jar http://projectlombok.googlecode.com/files/lombok.jar 运行Lombok.jar java -jar ...

  4. lombok 插件安装使用

    Lombok是一个Java库,它自动插入编辑器并构建工具,为Java添加香料.永远不要再编写另一个getter或Eques方法,您的类有一个功能齐全的构建器,可以自动化您的日志变量以及更多的注释. 官 ...

  5. lombok 插件安装

    1. 下载地址: https://plugins.jetbrains.com/plugin/6317-lombok-plugin 2. 选择从本地安装.

  6. IDEA2021.2安装lombok插件(借鉴前辈)

    lomhok下载地址: https://plugins.jetbrains.com/plugin/6317-lombok/versions CSDN关注斧头湖懒客 一,下载lombok插件我这里下载的 ...

  7. IDEA中的常用插件安装以及使用的介绍

    IDEA中的lombok插件安装以及各注解的详细介绍 Grep Console 当你密密麻麻一大片的日志,去查看起来,很容易看花眼:这个工具正好解决了这个痛点,可以说它就是 IDEA 自带 Conso ...

  8. Spring Boot笔记(五) SpringBoot 集成Lombok 插件

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 为了减少代码量,为当前项目添加 lombok 来优雅编码 Lombok 插件安装: a . 添加依赖: ...

  9. Mac 下eclipse安装Lombok插件

    在官网下载最新版本的 JAR 包. 将 lombok.jar 放在eclipse安装目录下,和 eclipse.ini 文件平级的. 注意,mac操作系统下eclipse的安装路径下有两个eclips ...

随机推荐

  1. 深入学习spring cloud gateway 限流熔断

    前言 Spring Cloud Gateway 目前,Spring Cloud Gateway是仅次于Spring Cloud Netflix的第二个最受欢迎的Spring Cloud项目(就GitH ...

  2. SimpleDateFormat一定是线程不安全吗?

    今天一位优秀的架构师告诉我,下面这段代码SimpleDateFormat是线程不安全的. /** * 将Date按格式转化成String * * @param date Date对象 * @param ...

  3. LAMP架构上线动态网站WordPress

    第一步,一键安装LAMP架构所需要的程序 yum install -y httpd mariadb-server php php-mysql 第二步,配置httpd,修改主配置文件/etc/httpd ...

  4. Spring @Value注入static属性

    import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Com ...

  5. 网络编程之BIO和NIO

    目录 OSI网络七层模型 TCP/UDP协议 TCP消息头 TCP三次握手.四次挥手 UDP协议 TCP协议/UDP协议区别 HTTP协议 HTTP协议请求头 HTTP协议响应头 HTTP状态码 so ...

  6. Day09_46_Set集合_SortedSet03

    SortedSet03 让SortedSet集合完成比较,还有另外一种方法,那就是单独编写一个比较器. java.util.comparator 在TreeSet集合创建的时候可以在集合中传入一个比较 ...

  7. goloader - golang动态加载的实现

    github地址:https://github.com/dearplain/goloader 这里有以前的一些思路:http://www.cnblogs.com/dearplain/p/8145985 ...

  8. CVE-2014-3153分析和利用

    本文是结合参考资料对CVE-2014-3153的分析,当然各位看官可以看最后的资料,他们写的比我好. 在看CVE-2014-3153之前我们用参考资料4中例子来熟悉下这类漏洞是如何产生的: /** * ...

  9. ajax提交session超时跳转页面使用全局的方法来处理

    来自:http://www.jb51.net/article/43770.htm 如果是ajax提交,超时时从服务器发出的跳转命令就不会起作用,所以如果是session超时,而且是在ajax请求,就在 ...

  10. xxl-job滥用netty导致的问题和解决方案

    netty作为一种高性能的网络编程框架,在很多开源项目中大放异彩,十分亮眼,但是在有些项目中却被滥用,导致使用者使用起来非常的难受. 本篇文章将会讲解xxl-job作为一款分布式任务调度系统是如何滥用 ...