官方文档:https://projectlombok.org/features/all
1、@Data
使用在类上,相当于同时使用@Getter,@Setter,@ToString,@EqualsAndHashCode,@RequiredArgsConstructor
2、@Getter/@Setter
使用在类上:为所有属性提供getter/getter方法
使用在某个属性上:为指定的属性提供getter/setter
3、@ToString
提供toString()方法
4、@EqualsAndHashCode
提供重写的equals()与hashcode()
5、@NoArgsConstructor
默认将会生成一个public的无参构造方法
但是,如果是如下的使用方式,那么将会生成一个private的无参构造方法和一个名称为TestA的static构造方法
@NoArgsConstructor(staticName = "TestA")
6、@AllArgsConstructor
提供一个全参的构造方法,不生成无参构造方法
这里的全参不包括已初始化的final字段
7、@RequiredArgsConstructor
在类上使用,这个注解可以生成带参或者不带参的构造方法。
若带参数,只能是类中所有带有 @NonNull注解的和以final修饰的未经初始化的字段
下面的使用方式,service服务类可以不用@Autowired
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
8、@Builder
生成一个构造器方法,可以用如下方式为属性赋值
Person.builder().name("Adam Savage").city("San Francisco").job("Mythbusters").job("Unchained Reaction").build();
9、@Cleanup
自动关闭流对象,只能在局部变量上使用,相当于 try with resource