Lombok常用注解

介绍

Lombok是一个Java库,可以通过注解简化Java代码。Lombok可以自动生成getter、setter、构造函数、equals、hashCode、toString等方法,使用Lombok可以使Java代码更加简洁、易读、易维护。Lombok还提供了其他一些有用的注解,如@Data、@Builder、@Slf4j等,可以进一步简化Java代码。而且是开源的,可以在GitHub上找到它的源代码和文档。

引入依赖

java 复制代码
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
    <version>1.18.24</version>
</dependency>

常用注解

@Getter/@Setter

java 复制代码
作用:自动生成getter/setter方法

参数:

- value:指定生成的getter/setter方法的访问级别,默认为public
- onMethod:指定注解在哪个方法上生成getter/setter方法,默认为注解所在的字段上

@ToString

java 复制代码
作用:自动生成toString方法

参数:

- includeFieldNames:是否在toString方法中包含字段名,默认为false
- exclude:指定不包含在toString方法中的字段
- of:指定只包含哪些字段在toString方法中

@EqualsAndHashCode

java 复制代码
作用:自动生成equals和hashCode方法

参数:

- callSuper:是否调用父类的equals和hashCode方法,默认为false
- exclude:指定不包含在equals和hashCode方法中的字段
- of:指定只包含哪些字段在equals和hashCode方法中

@NoArgsConstructor/@AllArgsConstructor

java 复制代码
作用:自动生成无参/全参构造方法

参数:

- access:指定构造方法的访问级别,默认为public
- force:是否强制生成构造方法,即使类中已经存在构造方法,默认为false

@Data

java 复制代码
作用:自动生成getter/setter、toString、equals和hashCode方法

@Builder

java 复制代码
作用:生成Builder模式的代码

参数:

- access:指定Builder类的访问级别,默认为public
- builderClassName:指定生成的Builder类的名称,默认为类名后加"Builder"
- builderMethodName:指定生成的Builder类的方法名,默认为"builder"
- toBuilder:是否生成toBuilder方法,默认为false

@Slf4j

java 复制代码
作用:自动生成日志对象

@Cleanup

java 复制代码
作用:自动关闭资源

@SneakyThrows

java 复制代码
作用:自动抛出异常
相关推荐
結城5 小时前
mybatisX的使用,简化springboot的开发,不用再写entity、mapper以及service了!
java·spring boot·后端
Bruk.Liu5 小时前
《Minio 分片上传实现(基于Spring Boot)》
前端·spring boot·minio
星辰离彬5 小时前
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
java·spring boot·后端·sql·mysql·性能优化
q_19132846955 小时前
基于Springboot+Vue的办公管理系统
java·vue.js·spring boot·后端·intellij idea
周全全7 小时前
基于 Vue 和 Spring Boot 实现滑块验证码的机器验证
前端·vue.js·spring boot
华子w9089258599 小时前
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
spring boot·微信小程序·uni-app
考虑考虑9 小时前
rollback-only事务
spring boot·后端·spring
脑瓜嗡11 小时前
Docker部署SpringBoot项目
spring boot·docker·容器
寒山李白11 小时前
Spring Boot 常用注解面试题深度解析
java·spring boot·面试·注解
西岭千秋雪_11 小时前
@Lazy原理与实战
java·服务器·spring boot·spring