一.安裝
a.官網上的安裝方法
1.點擊Download!
2.點擊確認下載
3.下載完成,雙擊打開,點擊“open”即可
4.之后會自動找到你的IDE如Eclipse,點擊“install/update”就完成了
如果沒有自動識別你PC上的IDE,可用方法b。
b.手動安裝
手動安裝的方法在上面給出的開源項目中給出了,此處貼上:
在eclipse/myeclipse中安裝
1.將 lombok.jar復制到myeclipse.ini / eclipse.ini所在的文件夾目錄下
2. 打開 eclipse.ini / myeclipse.ini,在最后面插入以下兩行並保存:
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar3. 重啟 eclipse / myeclipse
在 idea中安裝:
1.添加插件Files->settings->plugins
2.點擊按鈕【Install JetBrains plugin...】
3.在新彈出的窗口,搜索lombok,在搜索到的lombok上右鍵安裝就可以了
二.注釋解釋(http://jnb.ociweb.com/jnb/jnbJan2010.html)
@NonNull:消除空指針異常
@Cleanup:釋放資源
@Getter/@Setter:注解在屬性上,為屬性提供get/set方法
@ToString:注解在類上,為類提供toString()方法
@EqualsAndHashCode:注解在類上,為類提供equals()和hashcode()方法
@Data:最常用的注解,注解在類上,作用是@ EqualsAndHashCode,@Getter,@Setter 和@ToString注解的集合
因其使用注解的形式,所以使用的時候要導入lombok.jar包,如果用maven的話,需在pom.xml中的<dependencies></dependencies>標簽中加入:
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <version>1.16.2</version>
- </dependency>
三.示例演示
用lombok前
用lombok后
對比Outline視圖可知,加上lombok注解后,相應屬性增加了相應注解提供的方法,簡化了代碼,並且界面更加簡明。同時,如果需要修改屬性時,也不用去修改相應的方法,減少了工作量。
四.可能出現的問題
筆者使用lombok時,是按方法b安裝的,但是可能會出現eclipse的Generate Getters and Setters彈窗錯誤,如下:
二、eclipse安裝Lombok
運行安裝:
java -jar ${path}\lombok.jar
選擇IDE所在路徑點擊Install/Update即可使用。
手動安裝
1. 將lombok.jar復制到IDE所在的文件夾目錄下
2. 打開eclipse.ini/myeclipse.ini,在最后面插入以下兩行並保存:
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
3. 重啟IDE
idea安裝Lombok
安裝后需要重啟IDE
常用注解
@Data:注解在類上;提供類所有屬性的getting和setting方法,此外還提供了equals、canEqual、hashCode、toString方法
@Setter:注解在屬性上;為屬性提供setting方法
@Getter:注解在屬性上;為屬性提供getting方法
@Log4j:注解在類上;為類提供一個?屬性名為log的log4j日志對象
@NoArgsConstructor:注解在類上;為類提供一個無參的構造方法
@AllArgsConstructor:注解在類上;為類提供一個全參的構造方法
示例
不使用Lombok
public class Person {
private String id;
private String name;
private String identity;
public Person() {
}
public Person(String id, String name, String identity) {
this.id = id;
this.name = name;
this.identity = identity;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getIdentity() {
return identity;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setIdentity(String identity) {
this.identity = identity;
}
}
使用Lombok
@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private String id;
private String name;
private String identity;
}