茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729343 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
10088693979.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

爪哇咖啡屋 : [轉貼]Lombok

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]Lombok

Lombok 簡介


Lombok 包提供了簡單的標注來幫助我們簡化消除一些必須有但是臃腫的java 代碼,比如getter、setter和構造函數等,這些函數一般我們通過IDE自動生成,有了lombok三兩個標注就輕鬆搞定。

為了讓Eclipse識別lombok,除了引入lombok JAR包之外,你需要安裝lombok,這樣Eclipse才不會報警告(否則即使你標注了@Data,如果你不寫setter和getter代碼的話,Eclipse會有警告)。安裝非常簡單,只需要到lombok網站中下載,然後雙擊Jar包運行即可。

安裝說明
[安裝]

安裝步驟:
#下載 lombok.jar ( lombok官網
#安裝 lombok
#重啓 eclipse
https://ithelp.ithome.com.tw/upload/images/20180104/20107621uz0KWVchTh.png



檢查:
You can check if your eclipse installation is lombok-enabled in eclipse's about dialog. The lombok version will be listed at the end of the copyright text

https://ithelp.ithome.com.tw/upload/images/20180104/20107621zv9fw8i8bQ.png


Eclipse 啟動後如果還在錯誤訊息,則點擊在 eclipse的Project 選項的 clean
https://ithelp.ithome.com.tw/upload/images/20180104/20107621upzdLvP9M4.png

[使用]

Maven


<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
<scope>provided</scope>
</dependency>
</dependencies>


Lombok 的特色是根據 annotation 創建一些程式碼,以減少重復程式碼的數量,它提供了以下幾個 annotation:


@Getter 和 @Setter:為屬性創建 getter 和 setter
@EqualsAndHashCode:實現 equals() 方法和 hashCode() 方法
@ToString:實現 toString() 方法
@Data:上述3個 annotation 的和,會創建 getter setter equals hashCode 和 toString (最實用)
@Cleanup:關閉流
@Synchronized:對象同步
@SneakyThrows:拋出異常
@Log4j: log4j 日誌聲明


@ToString(exclude="color")
public @Data class Lure {
private String name;
private int size;
private String color;
private String style;
private boolean flag;
}

@Data 是實現所有的成員的 Get 和 Set 方法
@ToString(exclude="color")是 ToString 時候排除 color 成員變量
注意調用 flag 成員變量時候,是 isFlag 方法

What is POJO


POJO 是這樣的一種「純粹的」JavaBean,在它裡面除了JavaBean 規範的方法和屬性沒有別的東西,即 private 屬性以及對這個屬性方法的 public 的 get 和set 方法。我們會發現這樣的 JavaBean 很「單純」,它只能裝載數據,作為數據存儲的載體,而不具有業務邏輯處理的能力。
所以下面的代碼被認為是 POJO 了。

在一個 POJO


public  class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}


使用後,程式碼可以變成這樣


import lombok.Getter;
import lombok.Setter;
public class User {
@Getter @Setter
private int id;
@Getter @Setter
private String name;
}


甚至...再簡化成這樣


import lombok.Data;
public @Data class User {
private int id;
private String name;
}


資源


[1] Lombok 安裝、入門 - 消除冗長的 java 代碼
[2] [Mac OS] Setup lombok in Eclipse(Neon.2)



原文出處: IT|軟體|開發|Lombok @Data - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
前一個主題 | 下一個主題 | | | |

討論串




Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|