一、lombok介绍和安装
lombok是一个在Java开发过程中用注解的方式,简化了 JavaBean 的编写,避免了冗余和样板式代码而出现的插件,让编写的类更加简洁。
安装
1、先在idea中安装Lombok插件(以下截图是在idea2022安装)
File —> Settings —> Plugins —> Browse repositories —> 搜索lombok
2、在项目pom.xml中添加相关依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
二、lombok应用
2.1、lombok注解
@NonNull : 用在成员方法或者构造方法的参数前面,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常
@CleanUp : 自动资源管理:不用再在finally中添加资源的close方法
@Setter/@Getter : 自动生成set和get方法
@ToString : 自动生成toString方法
@EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor
自动生成构造方法
@Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@Value : 用于注解final类
@Builder : 产生复杂的构建器api类
@SneakyThrows : 异常处理(谨慎使用)
@Synchronized : 同步方法安全的转化
@Getter(lazy=true) :lombok生成一个getter,它将在第一次调用这个getter时计算一个值,并从那时起缓存它。
@Log: 支持各种logger对象,使用时用对应的注解,如:@Log4j
2.2、@Data应用
原生get/set/toString
public class Staff {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Staff{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
@Data注解方式
import lombok.Data;
@Data
public class Staff {
private int id;
private String name;
private int age;
}