1. 程式人生 > >lombok 註解說明

lombok 註解說明

這個註解來自於 lombok,lombok 能夠減少大量的模板程式碼,減少了在使用@Data 註解時, 需要匯入lombok.Data,下面列舉下 lombok提供的註解:

val : 和 scala 中 val 同名, 可以在執行時確定型別;

@NonNull : 註解在引數上, 如果該類引數為 null , 就會報出異常,  throw new NullPointException(引數名)

@Cleanup : 註釋在引用變數前, 自動回收資源 預設呼叫 close() 方法

@Getter/@Setter : 註解在類上, 為類提供讀寫屬性

@Getter(lazy=true) :

@ToString : 註解在類上, 為類提供 toString() 方法

@EqualsAndHashCode : 註解在類上, 為類提供 equals() 和 hashCode() 方法

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 註解在類上, 為類提供無參,有指定必須引數, 全參建構函式

@Data : 註解在類上, 為類提供讀寫屬性, 此外還提供了 equals()、hashCode()、toString() 方法

@Value :

@Builder : 註解在類上, 為類提供一個內部的 Builder

@SneakThrows :

@Synchronized : 註解在方法上, 為方法提供同步鎖

@Log :

@Log4j : 註解在類上, 為類提供一個屬性名為 log 的 log4j 的日誌物件

@Slf4j : 註解在類上, 為類提供一個屬性名為 log 的 log4j 的日誌物件



@Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);

上面一些註解是由包含關係的, 看需要什麼方法就增加什麼註解,@Log4j 和 @Slf4j 註解作用不小, 用在各層都可以,方便打 log。

也可以檢視官網 [ 官網 ]