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提供的註解
- val : 和 scala 中 val 同名, 可以在運行時確定類型;
- @NonNull : 註解在參數上, 如果該類參數爲 null , 就會報出異常, throw new NullPointException(參數名)
- @Cleanup : 註釋在引用變量前, 自動回收資源 默認調用 close() 方法
- @Getter/@Setter : 註解在類上, 爲類提供讀寫屬性
- @Getter(lazy=true) :
- @ToString : 註解在類上, 爲類提供 toString() 方法
- @EqualsAndHashCode : 註解在類上, 爲類提供 equals() 和 hashCode() 方法
- @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 註解在類上, 爲類提供無參,有指定必須參數, 全參構造函數
- @Data : 註解在類上, 爲類提供讀寫屬性, 此外還提供了 equals()、hashCode()、toString() 方法
- @Value :
- @Builder : 註解在類上, 爲類提供一個內部的 Builder
- @SneakThrows :
- @Synchronized : 註解在方法上, 爲方法提供同步鎖
- @Log :
- @Log4j : 註解在類上, 爲類提供一個屬性名爲 log 的 log4j 的日誌對象
- @Slf4j : 註解在類上, 爲類提供一個屬性名爲 log 的 log4j 的日誌對象
- @Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
- @Cleanup InputStream in = new FileInputStream(args[0]);
- @Cleanup OutputStream out = new FileOutputStream(args[1]);
下面我們就來看看java代碼使用
- import java.io.Serializable;
- import java.util.Date;
- import lombok.Data;
- import lombok.experimental.Accessors;
- @Data
- @Accessors(chain = true)
- public class BaseEntity implements Serializable{
- private static final long serialVersionUID = 1L;
- private Long id;
- private Date createTime;
- private Date updateTime;
- }
- import lombok.Getter;
- import lombok.Setter;
- import lombok.ToString;
- import lombok.experimental.Accessors;
- //實現 鏈式set方法
- @Accessors(chain = true)
- @Setter
- @Getter
- //爲了打印出父類的tostring方法
- @ToString(callSuper = true)
- public class User extends BaseEntity{
- private static final long serialVersionUID = -8894957774014769811L;
- private int age;
- private String name;
- public String getInfo() {
- return "jack";
- }
- }
- import java.util.Date;
- public class Test {
- public static void main(String[] args) {
- User user = new User();
- user.setName("das");
- user.setAge(23);
- //@Accessors 設置爲true時候可以這樣使用
- user.setId(123l).setCreateTime(new Date());
- System.out.println(user.getInfo());
- System.out.println(user.toString());
- }
- }