Lombok 介紹 消除Java的冗長

來源:互聯網
上載者:User

Lombok 介紹 消除Java的冗長

Lombok 是一種 Java工具 + 生產力,可用來協助開發人員消除Java的冗長,尤其是對於簡單的Java對象(POJO)。

它通過注釋實現這一目的。一個標準的Java bean 一般具有若干屬性,每個屬性具有getter()和setter()方法,

通常還會有一個toString() 方法、一個 equals() 方法和一個 hashCode() 方法。這樣一來,代碼就顯得冗餘。

安裝 Lombok

使用Lombok 首先要進行安裝,本例介紹 myeclipse 的安裝方法,首先官網下載 lombok.jar

將 lombok.jar 複製到 myeclipse.ini / eclipse.ini 所在的檔案夾目錄下

開啟 myeclipse.ini / eclipse.ini,在最後加上以下兩行並儲存:

   -Xbootclasspath/a:lombok.jar

   -javaagent:lombok.jar

重啟 myeclipse / eclipse 即可

使用 Lombok

現在,就可以在 IDE 中使用Lombok了,看以下代碼:

public class User {    private String username;    private String password;    private int age;}

以上是一個簡單的 Java bean 的典型開始。可以為每個屬性添加 getters 和 setters。

然後再添加一個 equals() 方法、一個 toString() 方法和一個 hashCode() 方法。

有了 Lombok,無需自己完成上述操作。相反,只需添加一個注釋:@Data

@Datapublic class User {    private String username;    private String password;    private int age;}
Lombok 註解

Lombok 註解可參看 協助文檔

下面介紹幾個常用的 lombok 註解

@Data :註解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法

@Setter:註解在屬性上;為屬性提供 setting 方法

@Getter:註解在屬性上;為屬性提供 getting 方法

@Log4j :註解在類上;為類提供一個 屬性名稱為log 的 log4j 日誌對象

@NoArgsConstructor:註解在類上;為類提供一個無參的構造方法

@AllArgsConstructor:註解在類上;為類提供一個全參的構造方法

當使用註解的時候,我們看看Lombok到底幹了些什麼

public class User {    private @Getter @Setter String username;    private @Getter @Setter String password;    private @Getter @Setter int age;}

甚至可以這樣寫:

@Datapublic class User {    private String username;    private String password;    private int age;}

可以看出,在編譯期,Lombok根據所寫的annotation,為所有屬性加上了getter setter,甚至是hashCode,equals和toString。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.