Lombok
1、概述
- 一个优化POJO对象setter/getter/toString的插件
2、安装(idea)
- 点击File->Setting->Plugins
- 注意:IDEA版本2020.3以上不需要安装
3、引用
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
4、常用注解
1、@Getter|@Setter
作用:为类中的属性提供setter/getter方法
位置:类上方或属性上方,在属性上方则为属性生成setter/getter
方法,在类上方表示给该类下的所有属性生成setter/getter方法
属性:设置setter和getter访问权限
注:static修饰的变量不生成getter和setter方法
final修饰的变量只生成getter方法
2、@ToString
作用:生成toString方法,默认情况下它会按顺序打印类名称以及
每个字段。
位置:类上方
属性:exclude:取消某一个或多个变量在toString方法中的显示
3、@EqualsAndHashCode
作用:生成equals和hashCode、canEqual方法。用于比较两个类
对象是否相同。
位置:类上方
属性:比较时排除一些属性
4、@NonNull
作用:用于方法参数前,表示调用该方法时参数不能为null;用于
属性上方,表示为该属性赋值时值不能为null.
位置:方法参数前或者属性上方
5、@NoArgsConstructor
作用:生成无参构造方法.
位置:类上方
6、@NonNull
作用:生成包含final和@NonNull修饰的属性的构造方法.
位置:类上方
7、@NonNull
作用:生成全参的构造方法.
位置:类上方
8、@Data
作用:相当于同时添加@Setter、@Getter、@ToString、
@EqualsAndHashCode、 @RequiredArgsConstructor五个注解
位置:类上方
9、@Builder
作用:提供链式风格创建对象
位置:类上方