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

  今天看代碼,發現idea報錯,仔細一看調用的get,set方法bean中都沒有,可是運行起來卻沒有問題,這個讓我很疑惑。後來發如今類上有一個之前沒見過的註解@Data,大概就是由於有他的緣由。這個註解來自於lombok。ide

  咱們使用lombok的註解時,例如使用@Data,咱們不須要再代碼中再顯示的寫get,set方法等,當咱們使用的時候能夠直接使用註解給咱們生成的get,set方法,可是此時idea是不知道這個註解的做用的,會誤報沒有這個方法,因此你會看到idea瘋了同樣的處處報錯。爲了解決這個問題,咱們須要在idea中安裝插件lombok plugin(直接在idea的prefrences->plugin裏搜索就能夠找到)。安裝完重啓idea問題就解決了。函數

下面咱們來看一下lombok中都有哪些好用的註解ui

  @NonNull : 註解在參數上, 若是該類參數爲 null , 就會報出異常,  throw new NullPointException(參數名)idea

  @Cleanup : 註釋在引用變量前, 自動回收資源 默認調用 close() 方法插件

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

  @Getter(lazy=true) :實際使用到的時候生成對象

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

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

  @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 註解在類上, 爲類提供無參,有指定必須參數, 全參構造函數同步

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

  @Value :@Data相似,區別在於它會把全部成員變量默認定義爲private final修飾,而且不會生成set方法。

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

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

  @Log4j : 註解在類上, 爲類提供一個屬性名爲 log 的 log4j 的日誌對象

  @Slf4j : 註解在類上, 爲類提供一個屬性名爲 log 的 log4j 的日誌對象

相關文章
相關標籤/搜索