當前位置:
首頁 > 知識 > lombok的簡單介紹和使用方法

lombok的簡單介紹和使用方法

這是上周在群里發現有人推薦lombok,他說是神器,當時就引起了我的好奇,然後下班回來我就看了看官網介紹(菜鳥英語水平),這就是難點了,然後就是大概了解了一下,就在網上查了查相關資料,周末的時候自己試了試,現在來做個總結:

官網:http://projectlombok.org/;進去就有一個幾分鐘的視頻介紹,不過是英語;還有相關的文檔等。

lombok簡介:就是通過@Data註解的方式省去了我們平時開發定義JavaBean之後,生成其屬性的構造器、getter、setter、equals、hashcode、toString方法;但是,在編譯時會自動生成這些方法,在.class文件中。(我就不多介紹了。。。)

要使用lombok,我們需要安裝配置lombok,首先下載lombok.jar包:https://projectlombok.org/download.html

安裝:

在eclipse中安裝使用:(其他開發工具我沒弄)

打開eclipse.ini文件,在最後添加如下兩行:

-javaagent:[lombok.jar所在路徑] -Xbootclasspath/a:[lombok.jar所在路徑]

然後重啟eclipse。

lombok 註解:

lombok 提供的註解不多,可以參考官方視頻的講解和官方文檔。

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

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

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

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

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

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

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

在使用之前,我們需要導入相應的包:

下面來瞅瞅代碼:

1、當我沒有使用lombok時:

1 import java.io.Serializable;
2
3
4 import org.junit.Test;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
7
8
9
10 import lombok.Data;
11
12
13
14 public class TestLombok implements Serializable{
15
16 private static final long serialVersionUID = 5071239632319759222L;
17 private static final Logger logger = LoggerFactory.getLogger(TestLombok.class);
18
19 private String name;
20 private String gender;
21 private int age;
}

下面我們來看看其結構圖:

lombok的簡單介紹和使用方法

從圖上可以發現,沒有相應的getter,setter等方法。

2、下面我們再來看看加了@Data 註解之後

1 import org.junit.Test;
2 import org.slf4j.Logger;
3 import org.slf4j.LoggerFactory;
4
5
6
7 import lombok.Data;
8
9
10 @Data
11 public class TestLombok implements Serializable{
12
13 private static final long serialVersionUID = 5071239632319759222L;
14 private static final Logger logger = LoggerFactory.getLogger(TestLombok.class);
15
16 private String name;
17 private String gender;
18 private int age;
}

看看結構圖會是什麼樣子?

lombok的簡單介紹和使用方法

從上圖可以很明顯的發現,加了@Data 註解之後,多了對應的getter,setter等方法。(是不是很簡單,笑~~)那麼我們再來簡單的測試下看看能不能用吧?

1 @Test
2 public void lombok{
3 TestLombok lombok = new TestLombok;
4 lombok.setName("lombok");
5 lombok.setGender("noGender");
6 lombok.setAge(99);
7 System.out.println(lombok.getName);
8
9 }

運行結果:

事實證明,這個是有作用的,那麼對lombok,我就介紹到這兒了。下面說說我覺得的優缺點吧。

優點:

1、首先,大家都看到了,這是一個很方便的工具,省去了我們不少的操作,特別是在類的屬性很多的時候,代碼看上去也很簡潔。

2、其次,也避免了我們在修改屬性時,忘記修改欄位的錯誤。

缺點:

1、雖然代碼看上去很簡潔,但是降低了源代碼文件的可讀性和完整性(你沒發現看上去怪怪的嗎,O(∩_∩)O哈哈哈~)

2、不支持多種參數構造器的重載。

其他方面的影響本人暫時還不知道,坐等其他大佬來指教,謝謝!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 達人科技 的精彩文章:

原創EntityFramework Core 中使用 CodeFirst 模式時 PowerShell 版本問題及解決
electron 使用 node-ffi 調用 C++ 動態鏈接庫(DLL)
Android系統——輸入系統(十七)Dispatcher線程 分發dispatch
HDU 5527---Too Rich(貪心+搜索)

TAG:達人科技 |

您可能感興趣

requests 庫的常用方法
python開發利器,python shell和vim中都需要的tab補全方法
iPhone X 添加Hoem鍵方法簡單方便!
解決Electra越獄顯示Error:topanga錯誤的方法!
殭屍毀滅工程steam is not enabled錯誤解決方法
python 淺談正則的常用方法
蘋果iPhone打開簡訊iMessage就死機怎麼辦?附解決方法
Ray Dalio的思考方法
教程 | 5種快速易用的Python Matplotlib數據可視化方法
Python之re模塊方法詳解
jQuery UI 小部件(Widget)方法調用
Unit 5 Geophysical Methods of Exploration 地球物理勘探方法
PPT/Word/Excel 協同使用,相互轉換的方法其實非常簡單!
CodeWarrior IDE使用Tips-使用burner將elf文件轉換生成HEX和BIN文件的方法和步驟詳解
MyBatis使用筆記——原始方法開發dao層
Python 中最快解壓 zip 文件的方法
Acta Neuropathol Commun:科學家們開發出診斷神經退行性疾病的新方法
DeepMind於Nature子刊發文提出非對稱博弈的降維方法
JSON編程的parse() 方法
The Isle官方簡體中文設置方法