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。
我们还要在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方法
上图左侧是使用lombok注解Data,右侧是java字节码class文件反编译结果
4.2 Slf4j注解
将在编译期自动帮我们引入Logger日志常量,我们在代码中就直接使用log.info或log.debug打印日志即可。下图中红色代码就用Slf4j注解代替就可以了。
4.3 Builder注解
在Java类上使用Builder注解之后,我们可以使用如下代码为对象属性赋值
LombokPOJO lombokPOJO = LombokPOJO.builder()
.name("kobe")
.age(39)
.build();
4.4 AllArgsConstructor注解
AllArgsConstructor注解将为我们在编译期自动生成:全参构造函数。
有全参构造函数注解,自然就有无参构造函数注解:NoArgsConstructor注解。
lombok有非常多的好用的注解,这里给大家集中介绍几个经常会用到的。更多的用法参考github(插件安装图中,有github连接,上图中黄色区域)
来源:https://www.kancloud.cn/hanxt/springboot2/1315474


猜你喜欢
- 目录前言常量池反编译代码验证字符串初始化操作总结前言在深入学习字符串类之前,我们先搞懂JVM是怎样处理新生字符串的。当你知道字符串的初始化细
- 之前文章中我们讲到,java中实现同步的方式是使用synchronized block。在java 5中,Locks被引入了,来提供更加灵活
- SpringBoot找不到映射文件org.apache.ibatis.binding.BindingException: Invalid b
- 1、在Android studio中进行打开一个项目的文件之后,然后进行点击Android stuio中菜单中的“tools”的选项。在弹出
- 多线程内容大致分两部分,其一是异步操作,可通过专用,线程池,Task,Parallel,PLINQ等,而这里又涉及工作线程与IO线程;其二是
- 在ibatis的xml文件里,我们去写sql语句,对应mapper类的方法,这些sql语句与控制台上没什么两样,但在有些功能上需要注意,如w
- Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边
- CXF简介CXF是一个开源的WebService框架。Apache CXF = Celtix + XFire,开始叫 Apache Celt
- java反射机制是什么反射机制是在运行状态中,可以知道任何一个类的属性和方法,并且调用类的属性和方法;反射机制能够做什么1、判断运行对象的所
- java 读取网页内容的实例详解import java.io.BufferedReader; import java.io.IOExcept
- 原生Toast样式自定义Toast样式创建样式所谓自定义一个Toast就是建立一个布局文件,然后使用一个view容器承载,然后显示出来。To
- 一、泛型集合List<T>排序经sort方法之后,采用了升序的方式进行排列的。 List<int> list = n
- Android 实现代码混淆的实例1、简介代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,
- 断断续续的总算的把android开发和逆向
- 本地jvm执行flink带web ui使用StreamExecutionEnvironment executionEnvironment =
- 随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候想网易新闻要
- 这篇文章主要介绍了springboot使用事物注解方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 其实写到这里,我已经差不多断气了。。。常规套路,这里是前三篇的传送门,需要的同学可以看一下:JAVA写文本编辑器(三) JAVA写文本编辑器
- jdk * 和cglib * 实现及区别代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不
- 问题描述 在某一天打开电脑后,idea里的代码无缘无故地就爆红了,不但spring框架爆红,就