目录
1. Lombok 介绍
Lombok 通过增加一些“处理程序”,可以让 Java 变得简洁、快速;
Lombok 能以注解形式来简化 Java 代码,提高开发效率。开发中经常需要写的 Javabean,都需要花时间去添加相应的 getter/setter,也许还要去写构造器、equals 等方法,而且需要维护;
Lombok 能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString 方法。在源码中没有 getter 和 setter 方法,但是在编译生成的字节码文件中有 getter 和 setter 方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁。
2. Lombok 使用
导入依赖,写在类上面
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
3.常用注解标记
常见注解:
- @Getter / @Setter:可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成 Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的 访问级别。
- @EqualsAndHashCode :默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来 生成equals和hascode方法,也可以指定具体使用哪些属性。
- @ToString 生成toString方法,默认情况下, 会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
- @NoArgsConstructor:无参构造器。
- @RequiredArgsConstructor:部分参数构造器。
- @AllArgsConstructor:全参构造器 。
- @Data:包含@ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter 和@RequiredArgsConstructor的组合,通常情况下,基本上使用这个注解就足够了。
- @Budilder:可以进行Builder方式初始化。
- @Slf4j:等同于:private final Logger logger = LoggerFactory.getLogger(XXX.class);