步驟
- 先安裝lombok插件,在settings----》plugins裏面
- 然後引入lombok的jar包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.14</version>
</dependency>
這個註解來自於 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 的日誌對象
例子
@Data 導入lombok包中的Data類
@ToString(callSuper = true ) 等效 toString(),callSuper=true 是實現父接口
@NoArgsConstructor 等效 無參構造器
@EqualsAndHashCode(callSuper = false) 等效 equals()和hashCode()
public class ResponseMessage implements Serializable {
//兩個參數:一個是響應描述,一個是響應描述對應的編號,
private String desc;
private Integer code;
public
}