# lombok常用註解的使用 >
阿新 • • 發佈:2021-10-14
lombok常用註解的使用
Lombok 是一種 Java 實用工具,可用來幫助開發人員消除 Java 的冗長,尤其是對於簡單的 Java 物件(POJO)。它通過註釋的方式簡化程式碼。
@NonNull
用於判斷方法傳參是否為空
eg:public nonNullMethod(@NonNull Object obj)
判斷引數是否為空,若為空則丟擲異常
@Getter和@Setter
自動建立返回值欄位值與設定欄位值的方法(訪問級別預設為public) @Getter private int sid; 相當於 public int getSid(){ return sid } @Setter private int sid; 相當於 public void setSid(int sid){ this.sid = sid } 可以在類和類中的欄位中新增此註解,類上添加註解相當與給類中所有欄位新增。 如果想要自定義方法的訪問基本可以在註解中新增如:@Getter(AccessLevel.privite) 除此之外還可以通過註解@Accessors來配置註解,其中chain引數用的比較多。chain為true時則生成的setter方法返回值為this,為false時setter方法為預設的無返回值void。 配置方法為在類上添加註解@Accessors(chain = true)
@ToString
自動建立返回字串形式的類或者欄位的資料的方法
可以在類和類中的欄位中新增此註解,類上添加註解相當與給類中所有欄位新增。
@EqualsAndHashCode
自動重寫類中的equals(Object obj)和hashCode()方法
@NoArgsConstructor和@AllArgsConstructor
自動建立不帶引數的建構函式和帶有所有欄位的引數的建構函式 @NoArgsConstructor public class ConstructorTest(){ private int sid; } 相當於 public class ConstructorTest(){ private int sid; public ConstructorTest(){} }
@Data
相當於@Getter、@Setter、@ToString、@EqualsAndHashCode、@NoArgsConstructor註解的集合體
一般資料實體層的類都用這個註解來省去建立的大量程式碼
@Log
一般列印日誌的時候會用到此註解來省去建立的過程 不同的日誌框架由不同的日誌註解建立 @CommonsLog 建立 private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class); @Flogger 建立 private static final com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass(); @JBossLog 建立 private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LogExample.class); @Log 建立 private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName()); @Log4j 建立 private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class); @Log4j2 建立 private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class); @Slf4j 建立 private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class); @XSlf4j 建立 private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class); @CustomLog 建立 private static final com.foo.your.Logger log = com.foo.your.LoggerFactory.createYourLogger(LogExample.class); 一般@Slf4j註解比較常用
如果想要了解其他註解與配置鍵可以查閱官方文件:https://projectlombok.org/