前言
- Lombok是一款很常见的第三方库,可以帮我们简化java代码。会自动帮我们书写getter,setter等。不需要再写getter、setter或equals方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量等等
1.依赖
- 也可以在新建spring boot项目时,勾选Lombok,会自动添加这个依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
2.@Getter/@Setter
-
自动产生 getter/setter
image.png
3.@ToString
-
会自动重写toString()方法
image.png
4.@EqualsAndHashCode
- 自动生成 equals(Object other) 和 hashcode() 方法,包括所有非静态变量和非 transient 的变量。
-
用exclude排除不加入判断的变量。
image.png
5.@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor
-
@RequiredArgsConstructor : 生成一个包含 "特定参数" 的构造器,特定参数指的是那些有加上 final 修饰词的变量们
image.png
image.png
6. @Data
- 等同于添加了
@Getter
@Setter
@ToString
@EqualsAndHashCode
@RequiredArgsConstructor
7.@Value
整合包,但是他会把所有的变量都设成 final 的,其他的就跟 @Data 一样,等于同时加了以下注解
@Getter (注意没有setter)
@ToString
@EqualsAndHashCode
@RequiredArgsConstructor
8.@Slf4j
-
自动生成该类的 logger 静态常量,可以直接用log来打印日记
image.png
9.@Builder
-
自动生成builder
image.png
10.@Accessors(chain = true)
- @Accessors需要依赖于@Data注解,参考:
- 这个是用来指定setter返回本身。。这样就可以实现setter的链式使用。
参考文章
1.Lombok常用注解
2.使用Lombok的@Accessors注解实现setter方法链式,无法重复使用.setXx()方法
3.lombok链式调用_Lombok,嗯,真香香香香香香!
网友评论