lombok

1、簡介git

Lombok是一個能夠經過簡單的註解形式來幫助咱們簡化消除一些必須有但顯得很臃腫的Java代碼的工具,經過使用對應的註解,能夠在編譯源碼的時候生成對應的方法。官方地址: https://projectlombok.org/,github地址: https://github.com/rzwitserloot/lombok

2、IntelliJ IDEA 使用
  • 先安裝插件
  • 而後引入lombok的jar包  
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.14</version>
</dependency>

3、註解的介紹github

  • @Getter and @Setter

   能夠用@Getter / @Setter註釋任何字段(固然也能夠註釋到類上的),讓lombok自動生成默認的getter / setter方法。工具

     默認生成的方法是public的,若是要修改方法修飾符能夠設置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)
  • @ToString
     生成toString()方法,默認狀況下,它會按順序(以逗號分隔)打印你的類名稱以及每一個字段。能夠這樣設置不包含哪些字段
      @ToString(exclude = "id") / @ToString(exclude = {"id","name"})
     若是繼承的有父類的話,能夠設置 callSuper 讓其調用父類的toString()方法,例如: @ToString(callSuper = true)
  • @EqualsAndHashCode

    生成hashCode()和equals()方法,默認狀況下,它將使用全部非靜態,非transient字段。但能夠經過在可選的exclude參數中來排除更多字段。ui

         或者,經過在parameter參數中命名它們來準確指定但願使用哪些字段。spa

  • @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
    @NoArgsConstructor生成一個無參構造方法。當類中有final字段沒有被初始化時,編譯器會報錯,此時可用@NoArgsConstructor(force = true),
    而後就會爲沒有初始化的final字段設置默認值 0 / false / null。對於具備約束的字段(例如@NonNull字段),不會生成檢查或分配,
    所以請注意,正確初始化這些字段以前,這些約束無效。
  • @Data

   @Data 包含了 @ToString、@EqualsAndHashCode、@Getter / @Setter和@RequiredArgsConstructor的功能插件

相關文章
相關標籤/搜索