Java中優雅的使用Lombok
1、簡介
Lombok 是一種 Java實用工具,可用來幫助開發人員消除Java的冗長,尤其是對於簡單的Java對象(POJO), 它通過注釋實現這一目的。一個標准的Java bean 一般具有若干屬性,每個屬性具有getter()和setter()方法,Lombok中也用到了注解,但是它並沒有用到反射,而是通過一些奇技淫巧,在代碼編譯時期動態將注解替換為具體的代碼。所以JVM實際運行的代碼,和我們手動編寫的包含了各種工具方法的類相同。
代碼越少,意味着出bug的可能性越低。
官網地址:https://projectlombok.org/ 首頁有一段幾分鍾的演示視頻,看完就明白是怎么回事了。
2、添加maven依賴
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> </dependency>
3、Lombok注解
- @Data:注解在類上,將類提供的所有屬性都添加get、set方法,並添加、equals、canEquals、hashCode、toString方法
- @Setter:注解在類上,為所有屬性添加set方法、注解在屬性上為該屬性提供set方法
- @Getter:注解在類上,為所有的屬性添加get方法、注解在屬性上為該屬性提供get方法
- @NotNull:在參數中使用時,如果調用時傳了null值,就會拋出空指針異常
- @Synchronized 用於方法,可以鎖定指定的對象,如果不指定,則默認創建一個對象鎖定
- @Log作用於類,創建一個log屬性
- @Builder:使用builder模式創建對象
- @NoArgsConstructor:創建一個無參構造函數
- @AllArgsConstructor:創建一個全參構造函數
- @ToStirng:創建一個toString方法
- @Accessors(chain = true)使用鏈式設置屬性,set方法返回的是this對象。
- @RequiredArgsConstructor:創建對象
- @UtilityClass:工具類
- @ExtensionMethod:設置父類
- @FieldDefaults:設置屬性的使用范圍,如private、public等,也可以設置屬性是否被final修飾。
- @Cleanup: 關閉流、連接點。
- @EqualsAndHashCode:重寫equals和hashcode方法。
- @toString:創建toString方法。
大概減少了2/3的代碼,各種注解的詳細用法,請參考:https://projectlombok.org/features/index.html
4、一些使用的例子

1 public class User { 2 private String id; 3 private String name; 4 private Integer age; 5 6 public String getId() { 7 return id; 8 } 9 10 public void setId(String id) { 11 this.id = id; 12 } 13 14 public String getName() { 15 return name; 16 } 17 18 public void setName(String name) { 19 this.name = name; 20 } 21 22 public Integer getAge() { 23 return age; 24 } 25 26 public void setAge(Integer age) { 27 this.age = age; 28 } 29 }

1 @Setter 2 @Getter 3 public class User { 4 private String id; 5 private String name; 6 private Integer age; 7 }

1 public static void main(String[] args) { 2 User user = new User(); 3 user.setId("1"); 4 user.setName("name"); 5 user.setAge(1); 6 }
5、插件的安裝
因為不安裝插件,可能調用方法時會報錯。
windows下eclipse安裝lombok插件:
1.下載lombok.jar包https://projectlombok.org/download.html 2.運行Lombok.jar: Java -jar D:\software\lombok.jar 其中D:\software\lombok.jar這是windows下lombok.jar所在的位置 數秒后將彈出一框,點擊確認; 然后,點specify location 按鈕,選擇eclipse的安裝目錄,選擇到eclipse層即可; 3.確認完eclipse的安裝路徑后,點擊install/update按鈕,即可安裝完成 4.安裝完成之后,請確認eclipse安裝路徑下是否多了一個lombok.jar包,並且其 配置文件eclipse.ini中是否 添加了如下內容: -javaagent:D:\softwareIT\eclipse\lombok.jar 如果上面的答案均為true,那么恭喜你已經安裝成功,否則將缺少的部分添加到相應的位置即可 5.重啟eclipse或myeclipse
windows下idea安裝lombok插件:
1、File-->Settings...-->Plugins 2、Browse repositories... 3、在彈出的對話框中,直接搜索lombok,然后update/install
linux或ubuntu環境下安裝lombok插件:
基本步驟和上面一樣,區別在第二步 2.執行命令 java -jar /software/eclipse/lombok.jar 其中/software/eclipse/lombok.jar是我的lombok.jar所在的目; 我的eclipse是安裝在/software/eclipse/目錄下。 執行完成之后,查看eclipse.ini文件查看: -javaagent:/software/eclipse/lombok.jar
參考文章:
3、github地址:
https://github.com/rzwitserloot/lombok
4、插件安裝:https://blog.csdn.net/dorothy1224/article/details/79280591/
https://www.cnblogs.com/justuntil/p/7120534.html