在项目中添加Lombok可以极大的减少重复代码的书写,比如get/set方法的编写
首先需要将Lombok添加进pom文件中
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
</dependencies>
Lombok使用还需要添加插件
在idea 的 File / Settings / Plugins里搜索Lombok安装即可
下面是不使用Lombok,正常的编写get/set/toString方法
public class User {
private String username;
private Integer id;
private Integer age;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", id=" + id +
", age=" + age +
'}';
}
}
下面是使用了Lombok @Data
注解之后的代码
import lombok.Data;
@Data
public class User {
private String username;
private Integer id;
private Integer age;
}
代码就变得非常简洁了
常用的几个注解:
@Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter :注解在属性上;为属性提供 setting 方法
@Getter :注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@Cleanup : 可以关闭流
@Builder : 被注解的类加个构造者模式
@Synchronized : 加个同步锁
@SneakyThrows : 等同于try/catch 捕获异常
@NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
@Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。