lombok 提供了簡單的註解的形式來幫助咱們簡化消除一些必須有但顯得很臃腫的 java 代碼。特別是相對於 POJO,
官網上有 lombok 三分四十九秒的視頻講解,裏面講的也很清楚了,並且還有文檔能夠參考。
lombok 安裝
使用 lombok 是須要安裝的,若是不安裝,IDE 則沒法解析 lombok 註解。先在官網下載最新版本的 JAR 包,如今是 0.11.2 版本,我用的是 0.11.0
第一次使用的時候我下載的是最新版本的,也就是我如今用的 0.11.0,到如今已經更新了兩個版本,更新的好快啊 ... ...
1. 雙擊下載下來的 JAR 包安裝 lombok
我選擇這種方式安裝的時候提示沒有發現任何 IDE,因此我沒安裝成功,我是手動安裝的。若是你想以這種方式安裝,請參考官網的視頻。
2.eclipse / myeclipse 手動安裝 lombok
1. 將 lombok.jar 複製到 myeclipse.ini / eclipse.ini 所在的文件夾目錄下
2. 打開 eclipse.ini / myeclipse.ini,在最後面插入如下兩行並保存:
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
3.重啓 eclipse / myeclipse
lombok 註解:
lombok 提供的註解很少,能夠參考官方視頻的講解和官方文檔。
Lombok 註解在線幫助文檔:http://projectlombok.org/features/index.
下面介紹幾個我經常使用的 lombok 註解:
@Data :註解在類上;提供類全部屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:註解在屬性上;爲屬性提供 setting 方法
@Getter:註解在屬性上;爲屬性提供 getting 方法
@Log4j :註解在類上;爲類提供一個 屬性名爲log 的 log4j 日誌對象 @NoArgsConstructor:註解在類上;爲類提供一個無參的構造方法 @AllArgsConstructor:註解在類上;爲類提供一個全參的構造方法 下面是簡單示例 使用 lombok 的方案 import lombok.Data; @Data public class TestLombok { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("test"); } private Integer id2; private String name2; } 生成的class import java.io.PrintStream; public class TestLombok { private Integer id2; private String name2; public String toString() { return "TestLombok(id2=" + getId2() + ", name2=" + getName2() + ")"; } public int hashCode() { int PRIME = 59;int result = 1;Object $id2 = getId2();result = result * 59 + ($id2 == null ? 0 : $id2.hashCode());Object $name2 = getName2();result = result * 59 + ($name2 == null ? 0 : $name2.hashCode());return result; } public boolean canEqual(Object other) { return other instanceof TestLombok; } public boolean equals(Object o) { if (o == this) { return true; } if (!(o instanceof TestLombok)) { return false; } TestLombok other = (TestLombok)o; if (!other.canEqual(this)) { return false; } Object this$id2 = getId2();Object other$id2 = other.getId2(); if (this$id2 == null ? other$id2 != null : !this$id2.equals(other$id2)) { return false; } Object this$name2 = getName2();Object other$name2 = other.getName2();return this$name2 == null ? other$name2 == null : this$name2.equals(other$name2); } public void setName2(String name2) { this.name2 = name2; } public void setId2(Integer id2) { this.id2 = id2; } public String getName2() { return this.name2; } public Integer getId2() { return this.id2; } public static void main(String[] args) { System.out.println("test"); } } 上面的兩個 java 類,從做用上來看,它們的效果是同樣的,相比較之下,很明顯,使用 lombok 要簡潔許多,特別是在類的屬性較多的狀況下, 同時也避免了修改字段名字時候忘記修改方法名所犯的低級錯誤。最後須要注意的是,在使用 lombok 註解的時候記得要導入 lombok.jar 包到工程 lombok 的官方網址:http://projectlombok.org/