Spring Boot整合Lombok的方法详解
作者:寒咏哥 时间:2023-11-22 09:06:21
上篇文章给大家介绍了,喜欢的朋友点击查看下。
SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI
Lombok为啥这么牛逼?SpringBoot和IDEA官方都要支持它
一、Lombok简介
Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode()
和 equals()
这样的方法以及以往用来分类各种 accessor 和 mutator 的大量时间。
二、整合Lombok
安装Lombok插件
1.直接从http://plugins.jetbrains.com/下载,然后放到idea安装文件下面的plugins,然后重启idea
2.在idea的settings(windows)或者Preferences(mac),下找到plugins菜单,点击Browse repositories,如图
在项目pom文件中加入lombok依赖
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
使用@Data注解测试
@Data等价于上面的@Setter
、@Getter
、@RequiredArgsConstructor
、@ToString
、@EqualsAndHashCode
package com.smartadmin.entity.common;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.io.Serializable;
/**
* Page
*
* @Author: hanYong
* @CreateTime: 2020-11-25
*/
@Data
public class EsPage implements Serializable {
private static final long serialVersionUID = 8398867132297251568L;
/** 分页起点 */
private Integer from;
/** 最多返回size条记录 */
private Integer size;
/** 排序字段名 */
private String field;
/** 排序方式 */
private String order;
public static void main(String[] args) {
EsPage esPage = new EsPage();
esPage.setField("123");
System.out.println(esPage.toString());
}
}
三、Lombok注解简介
@Data 标签,生成getter/setter toString()等方法
@NonNull : 让你不在担忧并且爱上NullPointerException
@CleanUp : 自动资源管理:不用再在finally中添加资源的close方法
@Setter/@Getter : 自动生成set和get方法
@ToString : 自动生成toString方法
@EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor
自动生成构造方法
@Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@Value : 用于注解final类
@Builder : 产生复杂的构建器api类
@SneakyThrows : 异常处理(谨慎使用)
@Synchronized : 同步方法安全的转化
@Getter(lazy=true) :
@Log : 支持各种logger对象,使用时用对应的注解,如:@Log4j
其它注解参考:https://projectlombok.org/tidelift
来源:https://blog.csdn.net/han12398766/article/details/116245583
标签:Spring,Boot,整合,Lombok
0
投稿
猜你喜欢
Java多线程同步工具类CyclicBarrier的使用
2021-08-26 05:29:53
Flutter网络请求的3种简单实现方法
2023-06-21 10:53:22
Java中checkbox实现跨页多选的方法
2023-10-14 11:01:20
在maven工程里运行java main方法
2023-09-18 04:33:20
基于Java数组实现循环队列的两种方法小结
2023-06-30 16:09:01
封装的android监听手指左右滑动屏幕的事件类分享
2021-10-21 07:10:08
C#适配器模式的使用
2022-02-05 15:47:21
Spring Cache和EhCache实现缓存管理方式
2023-01-17 01:44:40
springboot中的pom文件 project报错问题
2022-01-24 00:41:55
Java 面试题基础知识集锦
2022-05-25 00:01:58
springboot使用自定义注解实现aop切面日志
2023-11-11 09:14:48
Android seekbar(自定义)控制音量同步更新
2022-09-05 08:46:47
关于统计数字问题的算法
2023-11-03 00:33:32
Java 8 lambda表达式引入详解及实例
2022-10-25 22:41:37
C#读写INI文件的方法
2023-12-08 15:31:10
Android studio中生成引用.aar和.jar的方法详解
2023-09-29 07:48:33
fastjson生成json时Null属性不显示的解决方法
2022-08-17 15:56:59
Android 通过onDraw实现在View中绘图操作的示例
2023-07-14 02:15:38
详解微信小程序 同步异步解决办法
2022-08-14 00:08:58
C#中TextBox的横线样式及占位提示详解
2023-05-17 10:33:27