(一)添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
(二)安装插件
由于 Lombok 采取的注解形式的,在编译后,自动生成相应的方法,为了不让 ide 疯了,需要下载插件了支持它。 以 idea 为例:查找插件 lombok plugin 安装即可。
(三)注解介绍
1、案例
@Data注解
@Data
public class User implements Serializable {
private BigInteger id;
private String name;
private Integer age;
}
@Data注解就相当于@ToString、@Getter、@Setter、@EqualsAndHashCode、@NoArgsConstructor 几个注解的组合。
2、@AllArgsConstructor
会生成一个包含所有变量,同时如果变量使用了@NotNull 注解, 会进行是否为空的校验, 全部参数的构造函数的自动生成,该注解的作用域也是只有在实体类上,参数的顺序与属性定义的顺序一致。
3、@NoArgsConstructor
无参构造函数
4、@RequiredArgsConstructor
会生成一个包含常量(final),和标识了@NotNull的变量 的构造方法。
(四)如何使用 @AllArgsConstructor、@NoArgsConstructor、@RequiredArgsConstructor
它们都有三个参数可以设置
1、String staticName() default “”;
如果设置了它,将原来的构造方法的访问修饰符将会变成 私有的,而外添加一个静态构造方法,参数相同,名字是设置的字符串的名字,访问修饰符为公有的。
2、RequiredArgsConstructor.AnyAnnotation[] onConstructor() default {};
在类上添加注解。使用方法@RequiredArgsConstructor(onConstructor=@__({@AnnotationsGoHere}))}。
例如我们在 Spring 项目中需要注入多个值,写很多个 @Autowired 很麻烦,就可以使用这种方式:
@Repository
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MongodbRepository {
private final MongoTemplate mongoTemplate;
...
}
3、AccessLevel access() default lombok.AccessLevel.PUBLIC;
构造函数访问修饰符;