Spring Boot提高开发效率必备工具lombok使用

作者:字母哥 时间:2022-05-21 08:22:38 

使用lombok插件的好处

我们在java开发过程中,经常会有一些常规性的,重复性的工作。比如:

  • 根据成员变量生成get和set方法

  • 根据成员变量生成类的构造函数

  • 重写toString()和hashCode方法

  • 引入日志框架logFactory,用来打印日志

以上都是一些重复动作,模板代码。每次都手动生成既浪费时间,又增加了大量的冗余代码。我们可以使用lombok插件来解决这个问题。使我们的编码效率得到大幅度的提高!

如何安装lombok插件

笔者以InelliJ IDEA为例,安装lombok插件。打开 IDEA 的 File->Settings 面板,并选择 Plugins 选项,然后点击 “Browse repositories”。在搜索框输入”lombok”,结果中找到lombok点击install,然后重启 IDEA。

Spring Boot提高开发效率必备工具lombok使用

我们还要在pom.xml里面加上如下依赖,插件生效。

<dependency>
           <groupId>org.projectlombok</groupId>
           <artifactId>lombok</artifactId>
           <optional>true</optional>
</dependency>

在Spring Boot项目里面不需要加入版本号,spring Boot父项目会代为管理。如果是其他项目,请自行添加版本号!

使用lombok注解简化开发

Data注解

在java类上使用@Data注解,将为我们在编译期自动生成

  • 成员变量的get和set方法

  • equals方法

  • canEqual方法

  • hashCode方法

  • toString方法

Spring Boot提高开发效率必备工具lombok使用

上图左侧是使用lombok注解Data,右侧是java字节码class文件反编译结果

Slf4j注解

将在编译期自动帮我们引入Logger日志常量,我们在代码中就直接使用log.info或log.debug打印日志即可。下图中红色代码就用Slf4j注解代替就可以了。

Spring Boot提高开发效率必备工具lombok使用

Builder注解

在Java类上使用Builder注解之后,我们可以使用如下代码为对象属性赋值

LombokPOJO lombokPOJO = LombokPOJO.builder()
       .name("kobe")
       .age(39)
       .build();

Spring Boot提高开发效率必备工具lombok使用

AllArgsConstructor注解

AllArgsConstructor注解将为我们在编译期自动生成:全参构造函数。

Spring Boot提高开发效率必备工具lombok使用

有全参构造函数注解,自然就有无参构造函数注解:NoArgsConstructor注解。

lombok有非常多的好用的注解,这里给大家集中介绍几个经常会用到的。更多的用法参考github(插件安装图中,有github连接,上图中黄色区域)

来源:https://www.kancloud.cn/hanxt/springboot2/1315474

标签:SpringBoot,lombok,效率工具
0
投稿

猜你喜欢

  • Visual Studio 2022 安装低版本 .Net Framework的图文教程

    2023-06-22 19:18:44
  • C#实现文件上传下载Excel文档示例代码

    2023-01-09 20:53:23
  • 50 道Java 线程面试题(经典)

    2023-11-23 19:47:37
  • springboot集成nacos读取nacos配置数据的原理

    2021-08-09 13:38:25
  • java高并发的线程中断的几种方式详解

    2022-08-25 01:35:09
  • C#日期格式强制转换方法(推荐)

    2022-09-19 10:24:57
  • SpringBoot实用小技巧之如何动态设置日志级别

    2023-02-09 04:27:58
  • C#实现的鼠标钩子

    2021-10-29 22:48:29
  • java oshi如何查看cpu信息

    2023-01-06 21:16:39
  • android中强制更新app实例代码

    2023-05-23 18:42:34
  • C#正则表达式转义字符介绍

    2022-11-03 01:10:09
  • C#实现多文件压缩与解压功能

    2022-03-05 04:45:54
  • 详解Java反射创建对象

    2022-12-10 03:52:23
  • Python安装Jupyter Notebook配置使用教程详解

    2023-08-31 02:52:03
  • 通过与Java功能上的对比来学习Go语言

    2023-02-18 02:04:53
  • Java一维数组和二维数组元素默认初始化值的判断方式

    2022-03-08 21:17:49
  • 一篇文章带你了解C语言二分查找

    2023-10-16 19:51:57
  • Spring interceptor拦截器配置及用法解析

    2023-06-26 06:08:15
  • java集合类HashMap源码解析

    2023-06-02 13:47:41
  • java生成excel报表文件示例

    2023-02-27 13:17:49
  • asp之家 软件编程 m.aspxhome.com