前言:什么是lombok?
lombok的作用:通过简单的注解代替手动设置实体类的基本属性方法(set、get、toString、构造器等)。
1.为什么需要lombok
当创建一个pojo实体类时,会给实体类赋予很多属性。为了保证这个实体类功能的完整性,我们会给它设置构造器方法、set()和get()、toString()等。虽然我们可以使用快捷键快速生成,但是繁多的属性会使这类结构非常冗余,并且想修改某个属性的名子时,需要对使用这个属性名的基本属性方法一一修改,十分麻烦。例如:
package com.example.mybatisplus_plus.pojo;
import java.util.Arrays;
public class Thing {
private String name;
private Integer age;
private String gender;
private String[] hobby;
private String email;
private String pet;
public String getName() {
return name;
}
public Thing() {
}
public Thing(String name, Integer age, String gender, String[] hobby, String email, String pet) {
this.name = name;
this.age = age;
this.gender = gender;
this.hobby = hobby;
this.email = email;
this.pet = pet;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPet() {
return pet;
}
public void setPet(String pet) {
this.pet = pet;
}
@Override
public String toString() {
return "Thing{" +
"name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
", hobby=" + Arrays.toString(hobby) +
", email='" + email + '\'' +
", pet='" + pet + '\'' +
'}';
}
}
救星来了——lombok
使用lombok后,我们只需在pojo类上面添加几个注解,就可以代替上面繁杂的代码,使类看起来清爽多了。例如:
package com.example.mybatisplus_plus.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Arrays;
@Data //set()和get()、toString()、equals()
@AllArgsConstructor//全参构造
@NoArgsConstructor//无参构造
public class Thing {
private String name;
private Integer age;
private String gender;
private String[] hobby;
private String email;
private String pet;
}
2.安装
首先我们需要下载lombok插件:settings->Plugins
因为我的idea已经安装好这个插件了,所以你需要到Marketplace下载。下载之后点击enable,然后重启idea才能使用。
a.引入Lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
<scope>provided</scope>
</dependency>
b.按需添加注解
3.常用的lombok注解
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法。@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
@Cleanup:关闭流
@ToString:实现toString()方法
@EqualsAndHashCode:实现equals()方法和hashCode()方法
@Synchronized:对象同步
@SneakyThrows:抛出异常mbok注解