Mac Eclipse安裝lombok

  Lombok是一個能夠經過註解的形式能夠幫助消除一些必須可是顯得很臃腫的Java代碼的工具,經過使用對應的註解,能夠在進行編譯源碼的時候生成對應的方法,好比類屬性的get/set/toString()/類的構造方法等.java

  

下面記錄一下在Mac Eclipse是如何安裝Lombokapp

  一、下載相應的Jar包lombok.jar,下載地址:https://projectlombok.org/downloadeclipse

  二、將Lombok集成到Eclipseide

    (1)Lombok複製到Eclipse.app/Contents/Eclipse目錄下;工具

      

    (2)將以下內容添加到eclipse.ini尾部ui

-javaagent:../Eclipse/lombok.jar
-vmargs -javaagent:lombok.jar

  三、重啓Eclipse便可。spa

下面記錄一下經常使用的註解  code

  一、在Maven項目中引入Lombok的Jarblog

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
    <scope>provided</scope>
</dependency>

  二、使用註解繼承

@Data
public class User {
    
    private int id;
    
    private String userName;
    
    private Date birthday;
}

  
    @Setter 和 @Getter

    註解在屬性上(固然也可使用在類上面)爲屬性提供 setting 方法,默認生成的方法是public的,若是要修改能夠設置AccessLever。以下    

public class User {
    
    @Getter(AccessLevel.PRIVATE) @Setter private int id;
    
    @Getter @Setter private String userName;
    
    @Getter @Setter private Date birthday;

}

 

    @ToString

    註解在類上,生成toString()方法,默認狀況下,它會按順序(以逗號分隔)打印你的類名稱以及每一個字段。能夠這樣設置不包含哪些字段@ToString(exclude="id"),若是有多個但是是@ToString(exclude={"id","name"}),若是有繼承父類的化,可讓其調用父類的toString(),如@ToString(calllSuper = true)     

@ToString(exclude = "id")
public class User {
    
    @Getter(AccessLevel.PRIVATE) @Setter private int id;
    
    @Getter @Setter private String userName;
    
    @Getter @Setter private Date birthday;
}  

  @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

  @NoArgsConstructor生成一個無參構造方法。當類中有final字段沒有被初始化時,編譯器會報錯,此時可用@NoArgsConstructor(force = true),而後就會爲沒有初始化的final字段設置默認值 0 / false / null。對於具備約束的字段(例如@NonNull字段),不會生成檢查或分配,所以請注意,正確初始化這些字段以前,這些約束無效。
  @RequiredArgsConstructor會生成構造方法(可能帶參數也可能不帶參數),若是帶參數,這參數只能是以final修飾的未經初始化的字段,或者是以@NonNull註解的未經初始化的字段
  @RequiredArgsConstructor(staticName = "of")會生成一個of()的靜態方法,並把構造方法設置爲私有的
    @AllArgsConstructor 生成一個全參數的構造方法
  
  @Data
  同時生成@Getter @Setter @ToString @RequiredArgsConstructor等功能。
 
  @Synchronized
  給方法添加同步鎖Synchronized
 
  更多參看官方文檔  https://projectlombok.org/features/all
相關文章
相關標籤/搜索