Lombok -----此java库 常用的注解及其功能总结
总结
Lombok 是一个 Java 库,它可以帮助开发者减少在 Java 中编写那些繁琐的“boilerplate”代码的工作量,比如 getter 方法、setter 方法、构造函数、toString 方法等。
通过简单的注解,Lombok 能够自动为你的类生成这些方法,从而使得代码更加简洁,同时也减少了出错的机会。
常用的注解及其功能简介
-
@Getter
和@Setter
:- 这两个注解分别用来生成类中所有字段(或指定字段)的 getter 和 setter 方法。
- 可以添加到类级别或者特定的字段上。
- 例如:
1private String name; 2@Getter @Setter 3private int age;
-
@NoArgsConstructor
:- 自动生成一个无参构造器。
- 如果类中有私有的构造器,则需要显式地使用此注解。
-
@AllArgsConstructor
:- 自动生成包含类中所有非静态变量的构造函数。
- 对于有多个属性的类来说非常有用。
-
@RequiredArgsConstructor
:- 生成包含 final 或者 @NonNull 注解的字段的构造器。
-
@ToString
:- 自动生成 toString() 方法,包括类中的所有字段。
- 可以通过配置排除某些字段,如
@ToString(exclude = "password")
。
-
@EqualsAndHashCode
:- 自动生成 equals 和 hashCode 方法。
- 可以指定哪些字段用于比较,如
@EqualsAndHashCode(of = {"id"})
。
-
@Value
:- 创建一个不可变的类。
- 所有字段默认是 final,并且会自动生成 getter 方法。
- 类不能被继承。
-
@Builder
:- 提供了一个类似 Java 8 Optional 类型的构建者模式实现。
- 允许以流畅的方式创建对象实例,可以指定必填或选填参数。
- 可以与
@AllArgsConstructor
结合使用,提供所有字段的构建器。
注意事项
为了使用 Lombok,你需要将它的依赖加入到你的项目中,并确保 IDE 支持 Lombok 插件,以便正确地解析和显示由 Lombok 自动生成的方法。
虽然 Lombok 大大简化了代码,但也有一些争议,比如它增加了编译过程的复杂性,可能对调试造成一定影响等。因此,在使用 Lombok 时,也需要权衡其利弊。