來自lombok的注解(解決idea中的找不到get,set方法,找不到log的問題)


  今天看代碼,發現idea報錯,仔細一看調用的get,set方法bean中都沒有,但是運行起來卻沒有問題,這個讓我很疑惑。后來發現在類上有一個以前沒見過的注解@Data,大概就是因為有他的原因。這個注解來自於lombok。

  我們使用lombok的注解時,例如使用@Data,我們不需要再代碼中再顯示的寫get,set方法等,當我們使用的時候可以直接使用注解給我們生成的get,set方法,但是此時idea是不知道這個注解的作用的,會誤報沒有這個方法,所以你會看到idea瘋了一樣的到處報錯。為了解決這個問題,我們需要在idea中安裝插件lombok plugin(直接在idea的prefrences->plugin里搜索就可以找到)。安裝完重啟idea問題就解決了。

下面我們來看一下lombok中都有哪些好用的注解

  @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 :@Data類似,區別在於它會把所有成員變量默認定義為private final修飾,並且不會生成set方法。

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

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

  @Log4j : 注解在類上, 為類提供一個屬性名為 log 的 log4j 的日志對象

  @Slf4j : 注解在類上, 為類提供一個屬性名為 log 的 log4j 的日志對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM