文章目录
Spring boot Lombok
上一节 Spring boot 参数校验
源码
简介
lombok 并不是spring 或者springboot的 ;这里写这一章节主要是为了后续代码中会经常用到,所以在此简单介绍和使用下。
lombok 是为了简化代码开发, 避免编写相对不太注重的代码,例如get set等;让代码更简洁;
不过 lombok 也有很大的争议,不过使用上很简单,学习也不费劲。看自己是否需求选择使用。
idea 安装
直接在 设置中搜索 lombok安装重启即可
官网教程

eclipse 安装
使用添加依赖
依赖
version 在springboot 2.x版本后可以不写,springboot 也管理了他的版本
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
常用注解
| 注解 | 说明 | 备注 |
|---|---|---|
| @UtilityClass | 标注在类上,类会标记为final,生成一个私有构造器,该类中的所有方法,内部类,以及字段都会标记为静态 | 工具类标注 |
| @Slf4j | 标注在类上,可以使用log 进行日志输出,同理还有@Log4j ,@log4j2 等支持不同的日志框架 | 日志打印 |
| @Data | 标注了 @Data的类,会生成getter ,setter, 方法以及无参构造器,全部参数构造器, tostring方法,equal和 hashCode方法 | 实体bean的常用方法 |
| @Getter | 修饰类或者字段,生成getter方法 | getter |
| @Setter | 修饰类或者字段,生成setter方法 | setter |
| @Accessors | 修饰类或者字段,配置@setter或者@Data使用,并且可定制化方法的前缀,以及chain=true设置为链调用 | 当链式调用set方法的时候比较适用 |
| @EqualsAndHashCode | 修饰类,生成equals 和hashcode方法 | |
| @AllArgsConstructor | 修饰类,生成所有参构造器 | |
| @NoArgsConstructor | 修饰类,生成无参构造器 | |
| @RequiredArgsConstructor | 修饰类, 生成无参和所有参构造器 | |
| @ToString | 修饰类,生成tostring 方法 | |
| @NonNull | 检测参数是否为空,抛出NullPointerException | null校验 |
| @Cleanup | 修饰局部变量,清除资源,默认调用资源的close方法 | 清除资源使用 |
| @SneakyThrows | 修饰方法,抛出异常 | |
| @Synchronized | 修饰方法,方法会自动被synchronized修饰 | 用处不大 |
| @val | 修饰局部变量,变量会变成不可从新赋值,和final作用一致 | |
| @var | 修饰局部变量,例如 var a = 10 ;可以自动类型推断 | java11 已经实现 |
常用示例
@UtilityClass 和 @Slf4j 的使用
@UtitityClass 修饰类,表示这是一个工具类
@Slf4j 修饰类;表示可以使用Slf4j的日志输出,不用在代码中写 loggerFactory.getLogger… 的模板代码了
@UtilityClass
@Slf4j
public class StringUtil {
public int length(String str) {
log.info("str length ");
return str.length();
}
}
对比生成的class
对比下, 类被final 修饰,方法变为static; 并且生成私有构造器; @Slf4j 也生成了log
public final class StringUtil {
private static final Logger log = LoggerFactory.getLogger(StringUtil.

本文介绍了Spring Boot中Lombok的使用,包括Lombok的基本概念、安装方法、依赖配置,以及常用的注解如@UtilityClass、@Slf4j、@NonNull、@Cleanup、@SneakyThrows、@val和@var的示例。通过使用Lombok,可以简化Java代码,避免编写getter、setter等模板代码,提高开发效率。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



