簡化開發:Lombok的使用


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     }
普通的bean
1 @Setter
2 @Getter
3 public class User {
4     private String id;
5     private String name;
6     private Integer age;
7 }
使用Lombok時的bean
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 }
main()方法中使用

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

 


參考文章:
4、插件安裝:https://blog.csdn.net/dorothy1224/article/details/79280591/
        https://www.cnblogs.com/justuntil/p/7120534.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM