Spring Boot整合Lombok Spring Boot整合Lombok的方法详解
寒咏哥 人气:0想了解Spring Boot整合Lombok的方法详解的相关内容吗,寒咏哥在本文为您仔细讲解Spring Boot整合Lombok的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Spring,Boot整合Lombok,下面大家一起来学习吧。
上篇文章给大家介绍了,喜欢的朋友点击查看下。
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
其它注解参考:http://projectlombok.org/tidelift
加载全部内容