总述
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码,实现简洁且易于维护的Java类。
官网:projectlombok.org
支持
以IDEA为例,首先在setting --> plugins中搜索 lombok 并安装重启,然后在 pom.xml中添加依赖。
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
使用
先写个POJO类。
public class Address {
private int id;
private String province;
private String city;
private String country;
}
这其中并没有提供构造方法、setter、getter、toString等方法,接下来使用Lombok的几个常用注解。
- @Getter:用于生成getter方法,可用在类或属性上。
- @Setter:用于生成setter方法,可用在类或属性上。
- @AllArgsConstructor:用于生成全参构造器,用在类上。
- @NoArgsConstructor:用于生成无参构造器,用在类上。
- @EqualsAndHashCode: 用于生成hashCode和equals方法,用在类上。
- @Data:是一个复合注解,使用该注解,会生成默认的无参构造器、所有属性的getter、所有非final的属性的setter、canEqual(Object),重写toString方法,重写equals方法,重写hashcode方法。
- @Builder:用于将类改造成builder模式,用在类、方法或构造器上。
@Getter

@Setter

@AllArgsConstructor

@NoArgsConstructor

@EqualsAndHashCode

@Data

@Builder

在Address类上使用@Builder注解后,可以这样创建对象:
Address address = Address.builder().province("广东省")
.city("广州市")
.country("华南")
.build();
参考
<<Java微服务实战>> 赵计刚/著
Lombok百度百科