1. 什么是lombok
在初期我们写JavaBean的时候会写大量的Getter/Setter方法,以及toString, hashCode等方法。Lombok可以使用注解的方式简化这些代码,让JavaBean更简洁和方便阅读。
Lombok的官方地址: https://projectlombok.org/
2. 使用
1). 添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
注意:这里无需指定版本,因为Spring Boot中已经默认引入了这个类库,且指定了其scope。 这个即将lombok引入了项目,可以引用其类库标注。
2). IDEA安装插件
打开IDEA编辑界面》File》Settings》Plugins,然后在搜索框中搜索“lombok”》选择“Search in repositories”:
然后在弹出的界面找到lombok并安装。
安装完成,选择“Close”回到Settings界面,选择“Apply”,重启IDEA即可。
3). 使用
在1中说到了Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,所以lombok的注解主要是用在涉及有getter/setter的类上,在我已有的开发经验中,一般是用在domain、DTO、VO这三种类上的。
并且,一般是使用@Data和@Builder两个注解。当然还有其他注解,在下面详细记录常用的:
@Data:这个注解包括了@Getter/@Setter,@ToString,@EqualAndHashCode等
@Builder:产生复杂的构建器api类,即构造者模式
@NonNull:标识对象是否为空,为空则抛出异常
@Getter:自动生成Getter方法
@Setter:自动生成Setter
@ToString:覆盖tostring方法
@EqualsAndHashCode:覆盖equal和hashCode方法
@NoArgsConstructor:无参构造函数
@AllArgsConstructor:所有参数构造函数
@Slf4j:默认使用slf4j的日志对象