fancydeepin
毋意,毋必,毋固,毋我。
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆-126 評論-247 文章-5 trackbacks-0
Lombok 安裝、入門 - 消除冗長的 java 代碼
前言:
逛開源社區(qū)的時候無意發(fā)現(xiàn)的,用了一段時間,覺得還可以,特此推薦一下。
lombok
提供了簡單的注解的形式來幫助我們簡化消除一些必須有但顯得很臃腫的 java 代碼。特別是相對于 POJO,光說不做不是我的風(fēng)格,先來看看吧。
lombok 的官方網(wǎng)址:
http://projectlombok.org/
lombok 其實到這里我就介紹完了,開個玩笑,其實官網(wǎng)上有 lombok 三分四十九秒的視頻講解,里面講的也很清楚了,而且還有文檔可以參考。
在這里我就不扯太多,先來看一下
lombok 的安裝
,其實這個官網(wǎng)視頻上也有講到啦
lombok 安裝
使用 lombok 是需要安裝的,如果不安裝,IDE 則無法解析 lombok 注解。先在官網(wǎng)下載最新版本的 JAR 包,現(xiàn)在是 0.11.2 版本,我用的是 0.11.0
第一次使用的時候我下載的是最新版本的,也就是我現(xiàn)在用的 0.11.0,到現(xiàn)在已經(jīng)更新了兩個版本,更新的好快啊 ... ...
1. 雙擊下載下來的 JAR 包安裝
lombok
我選擇這種方式安裝的時候提示沒有發(fā)現(xiàn)任何 IDE,所以我沒安裝成功,我是手動安裝的。如果你想以這種方式安裝,請參考官網(wǎng)的視頻。
2.eclipse / myeclipse 手動安裝 lombok
1. 將 lombok.jar 復(fù)制到 myeclipse.ini / eclipse.ini 所在的文件夾目錄下
2. 打開 eclipse.ini / myeclipse.ini,在最后面插入以下兩行并保存:
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
3.重啟 eclipse / myeclipse
lombok 注解:
lombok 提供的注解不多,可以參考官方視頻的講解和官方文檔。
Lombok 注解在線幫助文檔:
http://projectlombok.org/features/index.
下面介紹幾個我常用的 lombok 注解:
@Data
:注解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter
:注解在屬性上;為屬性提供 setting 方法
@Getter
:注解在屬性上;為屬性提供 getting 方法
@Log4j
:注解在類上;為類提供一個 屬性名為log 的 log4j 日志對象
@NoArgsConstructor
:注解在類上;為類提供一個無參的構(gòu)造方法
@AllArgsConstructor
:注解在類上;為類提供一個全參的構(gòu)造方法
下面是簡單示例
1.不使用 lombok 的方案
1
2
public
class
Person
{
3
4
private
String id;
5
private
String name;
6
private
String identity;
7
private
Logger log
=
Logger.getLogger(Person.
class
);
8
9
public
Person()
{
10
11
}
12
13
public
Person(String id, String name, String identity)
{
14
this
.id
=
id;
15
this
.name
=
name;
16
this
.identity
=
identity;
17
}
18
19
public
String getId()
{
20
return
id;
21
}
22
23
public
String getName()
{
24
return
name;
25
}
26
27
public
String getIdentity()
{
28
return
identity;
29
}
30
31
public
void
setId(String id)
{
32
this
.id
=
id;
33
}
34
35
public
void
setName(String name)
{
36
this
.name
=
name;
37
}
38
39
public
void
setIdentity(String identity)
{
40
this
.identity
=
identity;
41
}
42
}
43
2.使用 lombok 的方案
1
2
@Data
3
@Log4j
4
@NoArgsConstructor
5
@AllArgsConstructor
6
public
class
Person
{
7
8
private
String id;
9
private
String name;
10
private
String identity;
11
12
}
13
上面的兩個 java 類,從作用上來看,它們的效果是一樣的,相比較之下,很明顯,使用 lombok 要簡潔許多,特別是在類的屬性較多的情況下,
同時也避免了修改字段名字時候忘記修改方法名所犯的低級錯誤。
最后需要注意的是,在使用 lombok 注解的時候記得要導(dǎo)入 lombok.jar 包到工程
posted on 2012-07-12 21:53
fancydeepin
閱讀(154841)
評論(8)
編輯
收藏
評論:
#
re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2013-12-28 13:19 |
rrt
http://blog.csdn.net/u011299686/article/details/13772305
這里怎么有一個一模一樣的
回復(fù)
更多評論
#
re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2014-09-28 16:29 |
第三方的手
請問:修改屬性的名字的時候,myeclipse不會提示頁面有錯誤?
對你無語了,再說了有些東西不是越新越好。
回復(fù)
更多評論
#
re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2015-03-17 16:53 |
2
2
回復(fù)
更多評論
#
re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2015-06-11 17:43 |
osmond
這個性能如何?雖然setter、getter看起來臃腫,但是都可以用eclipse自動生成,注解應(yīng)該是反射吧?有誰測過性能嗎
回復(fù)
更多評論
#
re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2015-06-18 09:54 |
Bruce Auyeung
不是通過反射實現(xiàn)的,而是通過編譯時字節(jié)碼修改完成的。性能和 你手寫的代碼是一樣的。除非你認(rèn)為他們自動生成的代碼性能不好。
回復(fù)
更多評論
#
re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2015-10-14 16:19 |
wangtl
照你的方法,lombok在eclipse上安裝不上啊
回復(fù)
更多評論
#
re: Lombok 安裝、入門 - 消除冗長的 java 代碼 2016-01-14 14:36 |
方丈
@osmond
你看看就知道 這個在生成是會編譯成成對應(yīng)的getter和setter方法
話說你對注解不狗了解啊
回復(fù)
更多評論
#
re: Lombok 安裝、入門 - 消除冗長的 java 代碼
2016-05-18 14:46 |
carlwang
@rrt
那個是轉(zhuǎn)發(fā)的
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
github
個人主頁
beanutil
jutil
jexcel
orc
隨筆分類
(8)
junit
maven(8)
隨筆檔案
(104)
2015年6月 (8)
2015年2月 (1)
2015年1月 (1)
2014年9月 (1)
2014年8月 (3)
2014年6月 (10)
2014年5月 (3)
2014年3月 (5)
2013年10月 (1)
2013年9月 (2)
2013年4月 (1)
2013年3月 (2)
2013年2月 (11)
2012年11月 (3)
2012年10月 (14)
2012年8月 (15)
2012年7月 (13)
2012年6月 (10)
最新隨筆
1.?maven 為測試環(huán)境、生產(chǎn)環(huán)境等不同環(huán)境打包
2.?maven 多模塊項目
3.?nexus 搭建 maven 私服
4.?maven 鏡像
5.?maven jetty 插件使用
6.?maven jdk 版本配置
7.?eclipse maven plugin 插件 安裝 和 配置
8.?maven 安裝
9.?ORCP : 從數(shù)據(jù)庫表到 java 對象生成的 eclipse 插件
10.?jexcel 讀寫EXCEL
11.?linux 系列
12.?spring mvc(2):請求地址映射(@RequestMapping)
13.?spring mvc(1):基礎(chǔ)入門
14.?Java 驗證碼、二維碼
15.?GXT —— TreePanel 組件(一)
搜索
積分與排名
積分 - 1461424
排名 - 15
最新評論
1.?re: Maven 手動添加 JAR 包到本地倉庫[未登錄]
剛安裝好的maven,倉庫里沒有jar包,如何添加jar包呢?
--Firefly
2.?re: java 建造者模式(Builder)
多謝,講的很清楚
--Nimo
3.?re: Maven 手動添加 JAR 包到本地倉庫
很好很強(qiáng)大, 完美的解決了我的問題。。。
--klose
4.?re: eclipse maven plugin 插件 安裝 和 配置
@fancydeepin
鏈接還是失效了啊
--菜鳥一號
5.?re: Maven 手動添加 JAR 包到本地倉庫[未登錄]
@呼吸~
你好,請問,怎么設(shè)置代理呢?
--paul
閱讀排行榜
1.?eclipse maven plugin 插件 安裝 和 配置(325792)
2.?Maven 手動添加 JAR 包到本地倉庫(199724)
3.?Lombok 安裝、入門 - 消除冗長的 java 代碼(154841)
4.?java 異常捕捉 ( try catch finally ) 你真的掌握了嗎?(70175)
5.?maven jetty 插件使用(49085)
6.?JSP/Servlet 工作原理(43123)
7.?maven jdk 版本配置(40994)
8.?spring mvc(2):請求地址映射(@RequestMapping)(39572)
9.?二叉樹的深度優(yōu)先遍歷與廣度優(yōu)先遍歷 [ C++ 實現(xiàn) ](31255)
10.?maven 多模塊項目(27896)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 fancydeepin
主站蜘蛛池模板:
三级网站免费观看
|
日韩少妇内射免费播放
|
免费女人高潮流视频在线观看
|
少妇亚洲免费精品
|
美女视频黄.免费网址
|
成人伊人亚洲人综合网站222
|
亚洲中文字幕AV每天更新
|
最新免费jlzzjlzz在线播放
|
亚洲精品美女久久久久9999
|
曰批全过程免费视频网址
|
亚洲国产成人精品电影
|
久久久久久久久免费看无码
|
亚洲精品无码日韩国产不卡av
|
国产又黄又爽又猛的免费视频播放
|
亚洲精品无码久久久久久
|
四虎影库久免费视频
|
免费大片黄在线观看
|
亚洲熟妇无码AV在线播放
|
无码av免费一区二区三区
|
亚洲国产美女精品久久
|
在线不卡免费视频
|
免费视频成人国产精品网站
|
日韩亚洲人成在线综合日本
|
4399影视免费观看高清直播
|
2019亚洲午夜无码天堂
|
免费永久在线观看黄网站
|
a级毛片在线免费观看
|
亚洲福利视频一区二区三区
|
午夜小视频免费观看
|
成人特级毛片69免费观看
|
亚洲avav天堂av在线不卡
|
无码国产精品一区二区免费I6
|
深夜A级毛片视频免费
|
亚洲伦理一区二区
|
欧洲精品免费一区二区三区
|
国产区在线免费观看
|
国产精品亚洲自在线播放页码
|
亚洲男人av香蕉爽爽爽爽
|
日本视频一区在线观看免费
|
婷婷亚洲综合五月天小说在线
|
国产亚洲成av片在线观看
|