1 下載lombok.jar包java
lombok官網:https://projectlombok.org/
jar包下載路徑:https://projectlombok.org/download
lombok features:https://projectlombok.org/features/allapache
2 將lombok.jar包複製到myeclipse.ini/eclipse.ini所在文件目錄eclipse
3.打開myeclipse.ini/eclipse.ini,在最後添加如下代碼並保存:函數
-javaagent:lombok.jar ui
4.重啓myeclipse/eclipse.this
5.project==>clean 清理項目或者更新項目spa
val
:用在局部變量前面,至關於將變量聲明爲final.net
@NonNull
:給方法參數增長這個註解會自動在方法內對該參數進行是否爲空的校驗,若是爲空,則拋出NPE(NullPointerException)線程
@Cleanup
:自動管理資源,用在局部變量以前,在當前變量範圍內即將執行完畢退出以前會自動清理資源,自動生成try-finally這樣的代碼來關閉流。雖然自JDK7以來,原生引入了try--with--resource結構,但仍是不如@Cleanup來的簡潔。code
@Getter/@Setter
:用在屬性上,不再用本身手寫setter和getter方法了,還能夠指定訪問範圍
@ToString
:用在類上,能夠自動覆寫toString方法,固然還能夠加其餘參數,例如@ToString(exclude=」id」)排除id屬性,或者@ToString(callSuper=true, includeFieldNames=true)調用父類的toString方法,包含全部屬性
@EqualsAndHashCode
:用在類上,自動生成equals方法和hashCode方法
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
:用在類上,自動生成無參構造和使用全部參數的構造函數以及把全部@NonNull屬性做爲參數的構造函數,若是指定staticName = 「of」參數,同時還會生成一個返回類對象的靜態工廠方法,比使用構造函數方便不少
@Data
:註解在類上,至關於同時使用了@ToString
、@EqualsAndHashCode
、@Getter
、@Setter
和@RequiredArgsConstrutor
這些註解,對於POJO類
十分有用
@Value
:用在類上,是@Data的不可變形式,至關於爲屬性添加final聲明,只提供getter方法,而不提供setter方法
@Builder
:用在類、構造器、方法上,爲你提供複雜的builder APIs,讓你能夠像以下方式同樣調用Person.builder().name("Adam Savage").city("San Francisco").job("Mythbusters").job("Unchained Reaction").build();
更多說明參考Builder
@SneakyThrows
:自動拋受檢異常,而無需顯式在方法上使用throws語句
@Synchronized
:用在方法上,將方法聲明爲同步的,並自動加鎖,而鎖對象是一個私有的屬性$lock
或$LOCK
,而java中的synchronized關鍵字鎖對象是this,鎖在this或者本身的類對象上存在反作用,就是你不能阻止非受控代碼去鎖this或者類對象,這可能會致使競爭條件或者其它線程錯誤
@Getter(lazy=true)
:能夠替代經典的Double Check Lock樣板代碼
@Log
:根據不一樣的註解生成不一樣類型的log對象,可是實例名稱都是log,有六種可選實現類
@CommonsLog
Creates log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
@Log
Creates log = java.util.logging.Logger.getLogger(LogExample.class.getName());
@Log4j
Creates log = org.apache.log4j.Logger.getLogger(LogExample.class);
@Log4j2
Creates log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
@Slf4j
Creates log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
@XSlf4j
Creates log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);