Lombok 是一種 Java實用工具,可用來幫助開發人員消除Java的冗長,尤其是對於簡單的Java對象(POJO)。
它通過注釋實現這一目的。一個標准的Java bean 一般具有若干屬性,每個屬性具有getter()和setter()方法,
通常還會有一個toString() 方法、一個 equals() 方法和一個 hashCode() 方法。這樣一來,代碼就顯得冗余。
使用Lombok 首先要進行安裝,本例介紹 myeclipse 的安裝方法,首先官網下載 lombok.jar
將 lombok.jar 復制到 myeclipse.ini / eclipse.ini 所在的文件夾目錄下
打開 myeclipse.ini / eclipse.ini,在最後加上以下兩行並保存:
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
重啟 myeclipse / eclipse 即可
現在,就可以在 IDE 中使用Lombok了,看以下代碼:
public class User {
private String username;
private String password;
private int age;
}
以上是一個簡單的 Java bean 的典型開始。可以為每個屬性添加 getters 和 setters。
然後再添加一個 equals() 方法、一個 toString() 方法和一個 hashCode() 方法。
有了 Lombok,無需自己完成上述操作。相反,只需添加一個注釋:@Data
。
@Data
public class User {
private String username;
private String password;
private int age;
}
Lombok 注解可參看 幫助文檔
下面介紹幾個常用的 lombok 注解
@Data :注解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在屬性上;為屬性提供 setting 方法
@Getter:注解在屬性上;為屬性提供 getting 方法
@Log4j :注解在類上;為類提供一個 屬性名為log 的 log4j 日志對象
@NoArgsConstructor:注解在類上;為類提供一個無參的構造方法
@AllArgsConstructor:注解在類上;為類提供一個全參的構造方法
當使用注解的時候,我們看看Lombok到底干了些什麼
public class User {
private @Getter @Setter String username;
private @Getter @Setter String password;
private @Getter @Setter int age;
}
甚至可以這樣寫:
@Data
public class User {
private String username;
private String password;
private int age;
}
可以看出,在編譯期,Lombok根據所寫的annotation,為所有屬性加上了getter setter,甚至是hashCode,equals和toString。