java插件小王子—>Lombok 使用介紹

java插件小王子->Lombok 使用介紹

本文主要講述Lombok的平常使用
關於Lombok的安裝能夠看小編的另外一篇文章:
https://segmentfault.com/a/11...

Lombok瞭解

java中對象的實體類中 getter和setter toString equals 構造方法等
這些基本的java代碼你是否早已感到厭倦
雖然有工具強大的快捷鍵支持但總歸仍是很是影響咱們代碼書寫的效率和美觀的
所以Lombok誕生了 Lombok利用註解的方式便輕鬆的建立出一些對象類的基本方法 幫助咱們消除一些java代碼的冗長
若是你是第一次認識這個工具我相信你也會有一種想見恨晚的感受

Lombok的使用

  • @Data:做用於類上 暴力的生成了如下註解所能生成的方法: @ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
  • 若是你不想這麼暴力的寫法 能夠用如下的分步驟來操做
  • @Getter/@Setter:
    做用在類上 爲成員屬性提供set、get方法
    同時利用value屬性設定方法訪問範圍java

    @Setter(value=AccessLevel.PRIVATE)
       @Getter(value=AccessLevel.PUBLIC)
       class Student{
           private String name;
           private int age;
           private double money;
       }
  • @EqualsAndHashCode:
    做用於類,覆蓋默認的equals和hashCode程序員

    @EqualsAndHashCode
       class Student{
           private String name;
           private int age;
           private double money;
       }
  • @ToString:
    做用在類上 覆蓋默認toString方法
    同時能夠用of屬性限定顯示某些字段,經過exclude屬性排除某些字 段segmentfault

    @ToString(of= {"name","age"},exclude= {"money"})
       class Student{
           private String name;
           private int age;
           private double money;
       }
  • @NonNull:
    做用於成員變量上 聲明屬性不能爲null不然拋出異常工具

    class Student{
         @NonNull  private String name;
           private int age;
           private double money;
       }
  • @NoArgsConstructor:生成無參構造器
  • @AllArgsConstructor:生成全參構造器
  • @RequiredArgsConstructor:生成被final修飾和被@NonNull註解的成員變量的構造器ui

    • ps:他們都有staticName和access屬性
      表明生成靜態的構造和經過access來設置訪問屬性spa

      @NoArgsConstructor(staticName="of",access=AccessLevel.PUBLIC)  
          @AllArgsConstructor  
          class Student{  
          @NonNull private String name;  
          private int age;  
          private double money;  
          }
  • @Log:做用在類上 生成日誌變量
  • @Builder:做用在類上 使該類變爲建造者模式
  • @Cleanup:
    做用在資源上 能夠用於自動關閉像IO流這樣的資源
  • @Synchronized:
    做用在方法上 能夠代替對方法加鎖的實現 可是要根據需求使用 小編在使用Lombok時 此註解並無使用過
  • @SneakyThrows:
    做用在方法上 對異常進行拋出 可想而知也不是很經常使用插件


此處小編說一句題關於Lombok插件的題外話
Lombok這個插件 我以爲最起碼作了不少程序員想作的事 即便他很簡單
可是不少人因爲插件的配置問題對插件進行一系列的penpenpen 以下圖:日誌

  • image.png

問題難道還不夠明顯嗎 最簡單的解決方式不就是 你本身轉職或者直接把同事ds一頓很差嗎 在這裏噴插件! 本身的能力我看就不用多說了code

不想作一個尚未拼搏就死掉了的程序員 !!!
相關文章
相關標籤/搜索