eclipse中使用lombok,優化java代碼

1、下載Lombok.jar http://projectlombok.googlecode.com/files/lombok.jar 

2、運行Lombok.jar: 找到Lombok.jar所在的目錄下,然後運行

java -jar  lombok.jar 

       數秒後將彈出一框,以確認eclipse的安裝路徑

2、1 或者直接把lombok.jar 拷貝到eclipse.ini同等目錄下面

3、確認完eclipse的安裝路徑後,點擊install/update按鈕,即可安裝完成

4、安裝完成之後,請確認eclipse安裝路徑下是否多了一個lombok.jar包,並且其

     配置文件eclipse.ini中是否 添加了如下內容:

           -javaagent:lombok.jar

           -Xbootclasspath/a:lombok.jar

     如果上面的答案均爲true,那麼恭喜你已經安裝成功,否則將缺少的部分添加到相應的位置即可

5、重啓eclipse或myeclipse

 

lombok 能夠減少大量的模板代碼,下面列舉下 lombok提供的註解

[plain] view plain copy
  1. val : 和 scala 中 val 同名, 可以在運行時確定類型;  
  2. @NonNull : 註解在參數上, 如果該類參數爲 null , 就會報出異常,  throw new NullPointException(參數名)  
  3. @Cleanup : 註釋在引用變量前, 自動回收資源 默認調用 close() 方法  
  4. @Getter/@Setter : 註解在類上, 爲類提供讀寫屬性  
  5. @Getter(lazy=true) :  
  6. @ToString : 註解在類上, 爲類提供 toString() 方法  
  7. @EqualsAndHashCode : 註解在類上, 爲類提供 equals() 和 hashCode() 方法  
  8. @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 註解在類上, 爲類提供無參,有指定必須參數, 全參構造函數  
  9. @Data : 註解在類上, 爲類提供讀寫屬性, 此外還提供了 equals()、hashCode()、toString() 方法  
  10. @Value :  
  11. @Builder : 註解在類上, 爲類提供一個內部的 Builder  
  12. @SneakThrows :  
  13. @Synchronized : 註解在方法上, 爲方法提供同步鎖  
  14. @Log :  
  15. @Log4j : 註解在類上, 爲類提供一個屬性名爲 log 的 log4j 的日誌對象  
  16. @Slf4j : 註解在類上, 爲類提供一個屬性名爲 log 的 log4j 的日誌對象  
  17. @Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);  
  18. @Cleanup InputStream in = new FileInputStream(args[0]);  
  19. @Cleanup OutputStream out = new FileOutputStream(args[1]);  

下面我們就來看看java代碼使用

[java] view plain copy
  1. import java.io.Serializable;  
  2. import java.util.Date;  
  3.   
  4. import lombok.Data;  
  5. import lombok.experimental.Accessors;  
  6.   
  7. @Data  
  8. @Accessors(chain = true)  
  9. public class BaseEntity implements Serializable{  
  10.   
  11.     private static final long serialVersionUID = 1L;  
  12.   
  13.     private Long id;  
  14.       
  15.     private Date createTime;  
  16.       
  17.     private Date updateTime;  
  18.       
  19. }  

[java] view plain copy
  1. import lombok.Getter;  
  2. import lombok.Setter;  
  3. import lombok.ToString;  
  4. import lombok.experimental.Accessors;  
  5.   
  6. //實現 鏈式set方法  
  7. @Accessors(chain = true)  
  8. @Setter  
  9. @Getter  
  10. //爲了打印出父類的tostring方法  
  11. @ToString(callSuper = true)  
  12. public class User extends BaseEntity{  
  13.   
  14.     private static final long serialVersionUID = -8894957774014769811L;  
  15.   
  16.     private int age;  
  17.       
  18.     private String name;  
  19.   
  20.     public String getInfo() {  
  21.         return "jack";  
  22.     }  
  23. }  

[java] view plain copy
  1. import java.util.Date;  
  2.   
  3.   
  4. public class Test {  
  5.   
  6.       
  7.     public static void main(String[] args) {  
  8.         User user = new User();  
  9.         user.setName("das");  
  10.         user.setAge(23);  
  11.         //@Accessors 設置爲true時候可以這樣使用  
  12.         user.setId(123l).setCreateTime(new Date());  
  13.         System.out.println(user.getInfo());  
  14.         System.out.println(user.toString());  
  15.     }  
  16.       
  17. }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章