记录 lombok 的使用
lombok 注解
@Setter
为每个字段创建标准 setter 方法@Getter
为每个字段创建标准 getter 方法@RequiredArgsConstructor
和 @NonNull 结合,生成需要参数的构造方法
属性 staticName:默认是空,如果设置的话,生成的构造方法为 private,然后生成静态的工厂方法包装构造方法@ToString
生成 toString 方法@EqualsAndHashCode
生成 equals 和 hashCode 方法@Data
生成 getter, toString, hashCode, equals 和构造方法, 等价于
@Getter
@Setter
@RequiredArgsConstructor
@ToString
@EqualsAndHashCode@AllArgsConstructor
生成所有字段的构造方法@NoArgsConstructor
生成无参构造方法@Accessors
用来保存 @Setter, @Getter 的配置。
属性 fluent: 如果是 true, 生成的 getter 和 setter 方法没有 get, set 前缀
属性 chain:如果是 true, 生成链式调用的 setter 方法(即 setter 会返回 this)
属性 prefix: 有这个前缀的字段才生成 getter 和 setter 方法@Builder
生成 builder 方法
例如:1
2
3
4
5
6
7
public class Student {
private String name;
private int age;
}
Student student = Student.builder().name("zs").age(24).build();@Delegate
代理,生成转发到其他 bean 的方法
例如:生成 RestOperations 的方法并将请求转发到 restTemplate 对象实现。1
2
3
4
5
public abstract class FilterRestTemplate implements RestOperations {
protected volatile RestTemplate restTemplate;
}@FieldDefaults
设置属性的使用范围,如 private、public 等,也可以设置属性是否被 final 修饰@Value
生成不可变对象,等价于
@Getter
@FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE)
@AllArgsConstructor
@ToString
@EqualsAndHashCode