Spring Boot教程之提高开发效率必备工具lombok

作者:字母哥 时间:2021-08-23 11:12:43 

一、前置说明

本节大纲

  • 使用lombok插件的好处

  • 如何安装lombok插件

  • 使用lombok提高开发效率

二、使用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注解简化开发

4.1 Data注解

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

  • 成员变量的get和set方法

  • equals方法

  • canEqual方法

  • hashCode方法

  • toString方法

Spring Boot教程之提高开发效率必备工具lombok

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

4.2 Slf4j注解

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


Spring Boot教程之提高开发效率必备工具lombok

4.3 Builder注解

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

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

Spring Boot教程之提高开发效率必备工具lombok

4.4 AllArgsConstructor注解

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


Spring Boot教程之提高开发效率必备工具lombok

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

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

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

标签:java,lombok
0
投稿

猜你喜欢

  • SpringBoot中使用JeecgBoot的Autopoi导出Excel的方法步骤

    2023-03-31 03:38:11
  • Android超实用的Toast提示框优化分享

    2022-12-20 08:36:32
  • Java实现LeetCode(54.螺旋矩阵)

    2023-01-26 20:54:00
  • Java 类与对象超基础讲解

    2023-06-12 00:03:22
  • C# FileStream实现大文件复制

    2021-06-14 11:00:53
  • 一文带你搞懂Java中的泛型和通配符

    2023-12-10 16:15:07
  • Java concurrency之非公平锁_动力节点Java学院整理

    2022-07-31 22:04:37
  • c#的异或运算符介绍

    2021-08-09 03:17:51
  • Spring和SpringBoot之间的区别

    2022-09-28 11:47:38
  • Kotlin 使用Lambda来设置回调的操作

    2021-07-22 03:08:04
  • @NonNull导致无法序列化的问题及解决

    2021-07-21 23:07:33
  • Android实现背景颜色滑动渐变效果的全过程

    2021-08-28 09:23:51
  • Idea里github的图形化操作配置方法

    2021-12-29 15:03:17
  • SpringBoot中的multipartResolver上传文件配置

    2022-01-22 11:06:51
  • c#中值类型和引用类型的基础教程

    2021-10-20 18:03:41
  • C#实现延时并自动关闭MessageBox的方法

    2023-01-19 10:38:51
  • C#中利用代理实现观察者设计模式详解

    2022-02-25 17:49:36
  • C#后台接受前台JSON字符串装换成字典集合处理

    2023-07-03 02:38:55
  • C#灰度化图像的实例代码

    2023-07-14 07:35:34
  • C#创建windows系统用户的方法

    2022-07-16 20:30:12
  • asp之家 软件编程 m.aspxhome.com