簡介
Lombok是一種Java實用工具,可用來幫助開發人員消除Java的代碼冗餘,尤其是對於簡單的Java對象(POJO)。它通過注釋實現這一目的。通過在開發環境中實現 Lombok,開發人員可以節省構建諸如 hashCode() 和 equals() 這樣的方法以及以往用來分類各種 accessor 和 mutator 的大量時間。
安裝
- 由於Lombok採用註解的形式,在編譯後自動生成相應的方法,所以需要下載插件來支持它。
- 以IDEA為例:查找插件lombok plugin安裝即可。

Lombok插件安裝示例
引入依賴
使用前需要在pom.xml文件中引入Lombok的依賴包:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>註解大全

註解目錄
常用註解介紹
- @Getter和@Setter:該註解可以使用在類上也可以使用在屬性上,生成的getter遵循布爾屬性的約定。在使用該註解時,會默認生成一個無參構造和對應的get、set方法。
示例代碼如下:
@Getter
@Setter
public class User implements Serializable {
private static final long serialVersionUID = -7916580688752749714L;
private Long id;
private String userName;
private Boolean isDeleted;
}- @ToString :該註解使用在類上,編譯後toString方法返回將會以欄位的名稱-值的形式輸出。
- @EqualsAndHashCode :該註解使用在類上,同時生成 equals 和 hashCode。
- @AllArgsConstructor :該註解使用在類上,提供全參數的構造方法,默認不提供無參構造。
- @NoArgsConstructor :該註解使用在類上,提供無參構造。
- @Data :使用該註解就相對於同時聚合了以下幾個註解的功能(@ToString 、 @Getter 、@Setter、@EqualsAndHashCode 、 @NoArgsConstructor)。
需要注意的是:同時使用 @Data 和 @AllArgsConstructor 後 ,默認的無參構造函數失效,如果需要它,要重新設置 @NoArgsConstructor。
- @Slf4j :在類上註解後,可直接調用log。
log.info("xxx");
log.error("xxx");
log.debug("xxx");
log.trace("xxx");
log.warn("xxx");- @Builder:bulder 模式構建對象。
- @Cleanup:自動化關閉流。
@Cleanup
InputStream in = new FileInputStream(args[0]);
@Cleanup
OutputStream out = new FileOutputStream(args[1]);- @NonNull :增加不為空判斷。
public NonNullDemo(@NonNull User user) {
this.userName = user.getUserName();
}- @SneakyThrows :當我們需要拋出異常,在當前方法上調用,不用顯示的在方法名後面寫 throw。
@SneakyThrows(Exception.class)- @Synchronized :方法中所有的代碼都加入到一個代碼塊中,默認靜態方法使用的是全局鎖,普通方法使用的是對象鎖,當然也可以指定鎖的對象。
private final Object lock = new Object();
@Synchronized("lock")
public void doing() {
// todo:
}原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/275399.html
微信掃一掃
支付寶掃一掃