引言

以前的 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. django-自定义用户登录(个人笔记)

    django自定义用户登录(个人笔记) 函数说明 1. render()函数:对用户请求做出响应 2. path()函数:定义路由 3. create()函数:增加数据表记录 配置settings.p ...

  2. Ambassador-06-金丝雀部署

    金丝雀部署:Canary Releases ambassador使用加权循环,在多个服务之间路由流量.收集所有服务的完整指标,以便比较canary和production的相对性能.这个weight的值 ...

  3. 持续集成 简介&环境搭建

    1. 持续集成简介 2. 持续集成环境搭建(Jenkins) 2.1 Git 安装 2.2 JDK 1.8 安装 2.3 Tomcat 安装 2.4 Maven 简介和安装 2.5 Jenkins 安 ...

  4. 2021S软件工程——个人阅读作业2

    2021S软件工程--个人阅读作业2 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 了解并熟悉软件开发的具体流程, ...

  5. 基于MATLAB的手写公式识别(5)

    基于MATLAB的手写公式识别 总结一下昨天一天的工作成果: 获得了大致的识别过程. 一个图像从生肉到可以被处理需要经过预处理(灰质化.增加对比度.中值过滤.膨胀或腐蚀.闭环运算). 掌握了相关函数的 ...

  6. 动态地绑定到它的 is 特性,可以实现动态组件

    前面的话 让多个组件使用同一个挂载点,并动态切换,这就是动态组件.本文将详细介绍Vue动态组件 概述 通过使用保留的 <component> 元素,动态地绑定到它的 is 特性,可以实现动 ...

  7. 【接口参数解析BUG】SpringMVC接口参数解析

    今天遇到一个BUG,前端传递数字数组时,后端使用字符串类型去接收,结果无法接收到,代码如下 问题: GET请求: 前端: configJsonArray:[1,2] 后端: private Strin ...

  8. 【JDK8】JDK 8 中Stream流中的去重的方法

    JDK 8 中Stream流中去重的方法 1.简单的去重,可以使用distinct()方法去重,该方法是通过比较equals和hashcode值去去重, 2.复杂的去重, 例如,在一个JavaBean ...

  9. 病毒木马查杀实战第010篇:QQ盗号木马之十六进制代码分析

    前言 按照我的个人习惯,在运用诸如IDA Pro与OllyDBG对病毒进行逆向分析之前,我都会利用一些自动化的工具,通过静态或动态的分析方法(参见<病毒木马查杀第008篇:熊猫烧香之病毒查杀总结 ...

  10. hdu5105给你一个方程,让你求极值(直接暴力)

    题意:       给你一个方程f[x] = abss(a * x * x * x + b * x * x + c * x + d); 然后给你各个参数还有x(-100<x<100)的取值 ...