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。
我们还要在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方法
上图左侧是使用lombok注解Data,右侧是java字节码class文件反编译结果
Slf4j注解
将在编译期自动帮我们引入Logger日志常量,我们在代码中就直接使用log.info或log.debug打印日志即可。下图中红色代码就用Slf4j注解代替就可以了。
Builder注解
在Java类上使用Builder注解之后,我们可以使用如下代码为对象属性赋值
LombokPOJO lombokPOJO = LombokPOJO.builder()
.name("kobe")
.age(39)
.build();
AllArgsConstructor注解
AllArgsConstructor注解将为我们在编译期自动生成:全参构造函数。
有全参构造函数注解,自然就有无参构造函数注解:NoArgsConstructor注解。
lombok有非常多的好用的注解,这里给大家集中介绍几个经常会用到的。更多的用法参考github(插件安装图中,有github连接,上图中黄色区域)
来源:https://www.kancloud.cn/hanxt/springboot2/1315474
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
详解Android Studio如何导入第三方类库、jar包和so库
![](https://img.aspxhome.com/file/2023/1/106821_0s.png)
Java中Spring Boot+Socket实现与html页面的长连接实例详解
![](https://img.aspxhome.com/file/2023/1/85401_0s.png)
Java GC 机制与内存分配策略详解
![](https://img.aspxhome.com/file/2023/6/74926_0s.png)
Java如何把int类型转换成byte
![](https://img.aspxhome.com/file/2023/6/79816_0s.png)
C#泛型类创建与使用的方法
![](https://img.aspxhome.com/file/2023/3/96433_0s.jpg)
Jsoup获取全国地区数据属性值(省市县镇村)
![](https://img.aspxhome.com/file/2023/8/86728_0s.png)
基于Java实现经典蜘蛛纸牌游戏
![](https://img.aspxhome.com/file/2023/8/79878_0s.png)
Java8 使用 stream().sorted()对List集合进行排序的操作
![](https://img.aspxhome.com/file/2023/0/71930_0s.jpg)
Java中JMM与volatile关键字的学习
![](https://img.aspxhome.com/file/2023/2/62202_0s.png)
Feign调用中的两种Header传参方式小结
Springboot公共字段填充及ThreadLocal模块改进方案
![](https://img.aspxhome.com/file/2023/4/59184_0s.png)
C#基于OLEDB获取Excel文件表结构信息的方法
Android handle-message的发送与处理案例详解
![](https://img.aspxhome.com/file/2023/7/105977_0s.jpg)
使用C#实现在屏幕上画图效果的代码实例
SpringBoot+JWT实现注册、登录、状态续签流程分析
![](https://img.aspxhome.com/file/2023/4/71924_0s.png)
C#添加、读取Word脚注尾注的方法
![](https://img.aspxhome.com/file/2023/2/100152_0s.png)
C#文件断点续传实现方法
Java emoji持久化mysql过程详解
Android支付宝支付的示例代码
![](https://img.aspxhome.com/file/2023/7/94247_0s.png)
Android组件Glide实现图片平滑滚动效果
![](https://img.aspxhome.com/file/2023/2/101832_0s.jpg)