Lombok
Lombok介绍
Lombok 项目其实就是一个 java 库,它可以自动插入到编辑器和构建工具中,增强 java 的性能。以后你 只需要一些简单的注解,就可以再也不用在类中反复去写 getter、equals 等方法,让代码变得简介,不用过多地去关注相应的方法。属性修改时,也简化了维护这些属性所生成的 get、set 方法。
使用方式:
IDEA 下载 Lombok 插件
项目中导入 Lombok 的 jar 包
1 | <dependency> |
- 在 实体类 上使用 Lombok 注解
Lombok 注解
@Data
自动创建无参构造函数、get、set、toString、hashcode、equals 方法
@AllArgsConstructor
自动创建所有参数的构造函数。可以通过access属性指定访问级别:
1
@NoArgsConstructor
自动创建无参构造函数,可以通过access属性指定访问级别。
@EqualsAndHashCode
可以通过
of
属性指定参与equals
和hashcode
的字段:1
@ToString
@Getter
/@Setter
@Singular
在集合属性上使用该注解,可以往集合中单独增加元素。
@Builder
可以类似于链式地调用对象进行赋值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Student {
private String name;
private int age;
private int score;
private List<String> hobby;
public static void main(String[] args) {
Student stu = Student.builder().name("HELLO").age(8).addHobby("read").addHobby("dance").build();
log.info("stu: {}", stu);
}
}@SneakyThrows
异常处理。
@Accessors
可以通过
chain
属性,对属性进行链式操作:1
2
3
4
5
6
7
8
9
10
11
12
13
class Student {
private String name;
private int age;
public static void main(String[] args) {
Student stu = new Student();
stu.setName("老王").setAge(10);
log.info("stu: {}", stu);
}
}@FieldNameConstants
提供字符串形式的类的属性名的常量。使用方式是
Fields.
:1
2
3
4
5
6
7
8
9
10
11
12
13
class Student {
private String name;
private int age;
public static void main(String[] args) {
log.info(Fields.age);
}
}