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 复制代码
作用:自动抛出异常
相关推荐
一 乐2 分钟前
疫苗发布和接种预约|基于Java+vue疫苗发布和接种预约系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·疫苗发布和接种预约系统系统
夕除2 小时前
spring boot 16
java·spring boot·后端
希望永不加班2 小时前
SpringBoot 消息幂等性设计:防重复消费
java·开发语言·spring boot·后端·spring
XiYang-DING4 小时前
【Spring】 SpringBoot 配置文件
java·spring boot·spring
小马爱打代码4 小时前
Spring源码 第七篇:Spring Boot 自动配置原理深度拆解
java·spring boot·spring
白宇横流学长5 小时前
基于SpringBoot实现的校园失物招领平台设计与实现【源码+文档】
java·spring boot·后端
一 乐5 小时前
公交线路查询系统|基于Java+vue公交线路查询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·公交线路查询系统
i220818 Faiz Ul5 小时前
相亲网站|相亲网站系统|基于Java+vue相亲网站系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·相亲网站系统
鱼鳞_7 小时前
苍穹外卖-Day08(购物车)
java·spring boot
nickel3697 小时前
Qoder相关使用
java·开发语言·vue.js·spring boot