Lombok是一個用於簡化接口對象代碼的工具,針對接口對象中的樣板代碼進行簡化。下面看兩段代碼來體會一下,假設現在有一個接口對象,以項目(Store
)舉例:
- 不使用Lombok
public class Store implements IsEntity {
private String uuid;
private String code;
private String name;
private UsingState state;
private String remark;
@Override
public String getUuid() {
return uuid;
}
@Override
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public UsingState getState() {
return state;
}
public void setState(UsingState state) {
this.state = state;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
- 使用Lombok
一個@Data
註解搞定getter
、setter
方法,多簡潔。
@Data
public class Store implements IsEntity {
private String uuid;
private String code;
private String name;
private UsingState state;
private String remark;
}
1. 集成Lombok
其實要集成Lombok很簡單,只需要引入lombok依賴即可:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
1.1 添加IDE工具對Lombok的支持
爲了讓Lombok註解在編譯階段起到作用,我們需要下載Lombo的插件:
2. 常見註解
@Data註解:在JavaBean中使用,這個註解包含範圍最廣,它包含getter、setter註解,即當使用當前註解時,會自動生成包含的所有方法;
@builder註解:在JavaBean中使用,使用此註解可通過builder方式初始化對象
@getter註解:在JavaBean中使用,使用此註解會生成對應的getter方法;
@setter註解:在JavaBean中使用,使用此註解會生成對應的setter方法;
@NoArgsConstructor註解:在JJavaBean中使用,使用此註解會生成對應的無參構造方法;
@AllArgsConstructor註解:在JJavaBean中使用,使用此註解會生成對應的有參構造方法;
@ToString註解:在JJavaBean中使用,使用此註解會自動重寫對應的toStirng方法;
@EqualsAndHashCode註解:在JavaBean中使用,使用此註解會自動重寫對應的equals方法和hashCode方法;
@Slf4j:在需要打印日誌的類中使用,當項目中使用了slf4j打印日誌框架時使用該註解,會簡化日誌的打印流程,只需調用info方法即可;
@Log4j:在需要打印日誌的類中使用,當項目中使用了log4j打印日誌框架時使用該註解,會簡化日誌的打印流程,只需調用info方法即可;
使用Lombok還是相對簡單的,就先這樣吧。