什么是Lombok??
Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等。
//普通的实体类
public class Student {
private Integer id;
private Integer age;
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;
}
}
// 使用了Lombok插件的实体类
@Data
// 此注解可以自动生成getter和setter,
// toString,equals和hashCode等方法
public class Student {
private Integer id;
private String name;
private Integer age;
}
从上面的代码中我们可以看出,使用了Lombok后Java实体类的源码会变得非常简洁,且易于修改。
那么在idea中该如何安装和使用Lombok插件呢?
第一步
在Maven项目中导入
在pom.xml中的依赖处添加依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>
在普通项目中导入
将lombok.jar导入lib中即可使用
第二步
在IDEA中依赖相关插件
使用方法
Lombok插件中的常用注解
- @Setter和@Getter :对类中的属性生成相应的getter和setter方法。
- @ToString :生成toString()方法。该注解有以下属性:callSuper:是否输出父类的toString()方法,默认为false。includeFieldNames:是否包含字段名称,默认为true。exclude:排除生成到toString方法中的字段。
- @EqualsAndHashCode :生成equals()方法和hashCode()方法。
- @NoArgsConstructor :生成无参构造方法。
- @AllArgsConstructor :生成全参构造方法。
- @Data :相当于@Setter + @Getter + @ToString + @EqualsAndHashCode。
- @NonNull:判断是否为空,如果为空,则抛出java.lang.NullPointerException。
- @Builder :生成构建器。注意: 会自动生成全参构造方法,可能会导致默认无参构造方法失效。
使用方法与刚开始举的例子相同,大家可以下去试一试