“小辣椒”,Lombok

2023-12-05 19:30
文章标签 lombok 小辣椒

本文主要是介绍“小辣椒”,Lombok,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注:该文是本博主记录学习之用,没有太多详细的讲解,敬请谅解!

在Java项目里,每个JaveBean中我们都需要创建get/set方法,虽然idea中提供了快速构建get/set方法,但是每次增删改属性都需要维护它的get/set方法,特别麻烦。所以今天介绍Lombok插件,使我们平常在开发过程中提高效率,使JavaBean的代码可以至少省一半。

一、什么是Lombok

官网地址:https://www.projectlombok.org/

打开官网,首页上有它的简介,如下:

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.

翻译:Lombok是一个java库,可以自动插入编辑器并构建工具,为您的java增添色彩。
永远不要再写另一个getter或equals方法,使用一个注释,您的类具有一个功能齐全的构建器,自动化您的日志记录变量等等。

二、如何使用Lombok

1、安装插件和配置依赖

在这里插入图片描述
如上图所示,Lombok支持所有主流的 IDE 开发工具及编译构建工具,上图Bulid tool就是集成编译构建工具,IDEs就是各个ide开发工具的插件介绍。

因为本人使用的是Intellij IDEA,所以接下来介绍在IDEA中安装Lombok插件,使编译的时候不会报错。
点击上图的Intellij IDEA,跳转到官网的教程。

在这里插入图片描述
下面配上Intellij IDEA安装Lombok插件的教程…,因为我已经安装过Lombok插件,所以图下红色箭头之中的地方显示的是update按钮,如果未安装,这个按钮是绿色Install字样。
在这里插入图片描述
下面是 Maven 的依赖配置,在用 Maven 打包的时候也能自动生成需要的代码,在官网上点击
install–>maven。
在这里插入图片描述

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

如果你使用了 Spring Boot,可以不用带版本号,在 Spring Boot spring-boot-dependencies.pom 这个配置文件里面定义了 Lombok 依赖。
所以,你只需要继承版本号即可,当然,有必要的话,你也可以自定义版本号。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope>
</dependency>
2、使用注解简化代码

在Lombok的包中我们可以看到所有支持的注解。
在这里插入图片描述
1、@Getter和@Setter

添加 @Getter 和 @Setter 注解用在 Java Bean 类上面,无需生成 get/ set 方法,会自动生成所有的 get/ set 方法及一个默认的构造方法。

在这里插入图片描述
2、@ToString

使用在类上,默认生成所有非静态字段以下面的格式输出。

public String toString(){return "User(userName=" + getUserName() + ", id=" + getId() + ", age=" + getAge() + ", address=" + getAddress() + ", memo=" + getMemo() + ")";
}

3、@NoArgsConstructor

使用在类上,默认生成一个无参的构造方法。

4、@RequiredArgsConstructor

使用在类上,使用类中所有带有 @NonNull 注解和 final 类型的字段生成对应的构造方法。

5、@AllArgsConstructor

用在类上,生成一个所有参数的构造方法,默认不提供无参构造方法。

6、@Data

用在类上,等同于下面这几个注解合集。

  • @Getter
  • @Setter
  • @RequiredArgsConstructor
  • @ToString
  • @EqualsAndHashCode

7、@Value

用在类上,等同于下面这几个注解合集。

  • @Getter
  • @FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE)
  • @AllArgsConstructor
  • @ToString
  • @EqualsAndHashCode

8、@NonNull

用在属性上,用于字段的非空检查,如果传入到 set 方法中的值为空,则抛出空指针异常,该注解也会生成一个默认的构造方法。

9、@Log4j
用在类上,为类提供一个 属性名为log 的 log4j 日志对像

等同于:private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(User.class);

10、@EqualsAndHashCode

用在类上,自动生成equals方法和hashCode方法

11、@Slf4j

@Slf4j跟Log4j一样,为类提供一个 属性名为log 的 Slf4j日志对像
等同于: private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(User.class);

=============================================
以上主要是讲解日常使用频繁的注解,还有更多注解,有兴趣的同学自行学习,谢谢!

附上Lombok api文档地址:https://projectlombok.org/api/overview-summary.html

这篇关于“小辣椒”,Lombok的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/458837

相关文章

深入了解 Lombok 的 `@SneakyThrows` 注解

在 Java 编程中,异常处理是一个重要而繁琐的任务,特别是当你需要处理受检异常(checked exceptions)时。Lombok 的 @SneakyThrows 注解为简化异常处理提供了一种便捷的方法。本文将详细探讨 @SneakyThrows 注解的工作原理、优缺点以及使用示例。 什么是 @SneakyThrows 注解? @SneakyThrows 是 Lombok 提供的一

【spring】Lombok注解:data和AllArgsConstructor

data和AllArgsConstructor Lombok 库的注解:data和AllArgsConstructor @Data@AllArgsConstructorprivate static class Key {private String tId;private String tType

IDEA 安装lombok插件不兼容的问题及解决方法

解决:IDEA 安装lombok插件不兼容问题,plugin xxxx is incompatible 一、去官网下载最新的2024版本 地址传送通道: lombok插件官网地址https://plugins.jetbrains.com/plugin/6317-lombok/versions/stable  二、修改参数的配置 在压缩包路径 lombok-plugin -> li

Lombok和MapStruct整合

说明: Lombok和MapStruct都是用来简化Java代码的组件,它可以通过AnnotationProcessor在编译时自动生成代码,简化了我们日常开发。 原理: 自从Java 6起,javac就支持“JSR 269 Pluggable Annotation Processing API”规范,只要程序实现了该API,就能在javac运行的时候得到调用。 lombok本质上就是这样的

Lombok 工具中@Data注解生成hashCode()可能导致StackOverflowError情况

看了大学一位同学博客,写了内容大致就是对于一个类中出现了该类的集合,通过Lombok的@Data注解生成class文件,当创建两个这个类的对象并且互相之间引用的时候,就出现了StackOverflowError异常,即栈溢出,或者叫超出栈深度.        在Java虚拟机内存区域分为两种一种是线程共享区域,另一种是线程私有区域,而虚拟机栈就处在线程私有区域中,虚拟机栈描述的是Jav

Lombok组件的使用

什么是Lombok Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。 Lombok的使用 使用Lombok需要的开发环境Java+Maven+IntelliJ IDEA或者Eclipse(安装Lombok Plugin) 下载Lombok组件  完成安装后会从重启IDE

微服务框架中, common模块成灰色,在common包内不能引入 lombok

微服务框架中, common模块成灰色,在common包内不能引入 lombok     一. 问题:                     微服务框架中, common模块成灰色,在common包内不能引入 lombok         二. 解决方案:        在maven多模块中会经常遇到一个错误 就是Maven中的子

Lombok使用(eclipse、idea)与注解指南

在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO;   eclipse中使用Lombok windows环境 1.下载lombok.jar包https://projectlombok.org/download.html,或在maven中下载; 2.运行Lombo

代码神器——Lombok

在我们 Java 项目里面,有很多 Java Bean 需要为每个属性生成 get/ set 方法,增删改属性都需要维护这些 get/ set 方法甚是麻烦。今天给大家介绍一款能帮助我们简化这些代码的神器:Lombok!有了这个神器,你的 Java Bean 类的代码量至少可以省一半。 什么是Lombok? 官网:https://www.projectlombok.org/ 翻译过来就是说,