fancydeepin
毋意,毋必,毋固,毋我。
BlogJava
首页
新随笔
联系
聚合
管理
随笔-126 评论-247 文章-5 trackbacks-0
Lombok 安装、入门 - 消除冗长的 java 代码
前言:
逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下。
lombok
提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。特别是相对于 POJO,光说不做不是我的风格,先来看看吧。
lombok 的官方网址:
http://projectlombok.org/
lombok 其实到这里我就介绍完了,开个玩笑,其实官网上有 lombok 三分四十九秒的视频讲解,里面讲的也很清楚了,而且还有文档可以参考。
在这里我就不扯太多,先来看一下
lombok 的安装
,其实这个官网视频上也有讲到啦
lombok 安装
使用 lombok 是需要安装的,如果不安装,IDE 则无法解析 lombok 注解。先在官网下载最新版本的 JAR 包,现在是 0.11.2 版本,我用的是 0.11.0
第一次使用的时候我下载的是最新版本的,也就是我现在用的 0.11.0,到现在已经更新了两个版本,更新的好快啊 ... ...
1. 双击下载下来的 JAR 包安装
lombok
我选择这种方式安装的时候提示没有发现任何 IDE,所以我没安装成功,我是手动安装的。如果你想以这种方式安装,请参考官网的视频。
2.eclipse / myeclipse 手动安装 lombok
1. 将 lombok.jar 复制到 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
:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor
:注解在类上;为类提供一个全参的构造方法
下面是简单示例
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 注解的时候记得要导入 lombok.jar 包到工程
posted on 2012-07-12 21:53
fancydeepin
阅读(154808)
评论(8)
编辑
收藏
评论:
#
re: Lombok 安装、入门 - 消除冗长的 java 代码 2013-12-28 13:19 |
rrt
http://blog.csdn.net/u011299686/article/details/13772305
这里怎么有一个一模一样的
回复
更多评论
#
re: Lombok 安装、入门 - 消除冗长的 java 代码 2014-09-28 16:29 |
第三方的手
请问:修改属性的名字的时候,myeclipse不会提示页面有错误?
对你无语了,再说了有些东西不是越新越好。
回复
更多评论
#
re: Lombok 安装、入门 - 消除冗长的 java 代码 2015-03-17 16:53 |
2
2
回复
更多评论
#
re: Lombok 安装、入门 - 消除冗长的 java 代码 2015-06-11 17:43 |
osmond
这个性能如何?虽然setter、getter看起来臃肿,但是都可以用eclipse自动生成,注解应该是反射吧?有谁测过性能吗
回复
更多评论
#
re: Lombok 安装、入门 - 消除冗长的 java 代码 2015-06-18 09:54 |
Bruce Auyeung
不是通过反射实现的,而是通过编译时字节码修改完成的。性能和 你手写的代码是一样的。除非你认为他们自动生成的代码性能不好。
回复
更多评论
#
re: Lombok 安装、入门 - 消除冗长的 java 代码 2015-10-14 16:19 |
wangtl
照你的方法,lombok在eclipse上安装不上啊
回复
更多评论
#
re: Lombok 安装、入门 - 消除冗长的 java 代码 2016-01-14 14:36 |
方丈
@osmond
你看看就知道 这个在生成是会编译成成对应的getter和setter方法
话说你对注解不狗了解啊
回复
更多评论
#
re: Lombok 安装、入门 - 消除冗长的 java 代码
2016-05-18 14:46 |
carlwang
@rrt
那个是转发的
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
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 为测试环境、生产环境等不同环境打包
2. maven 多模块项目
3. nexus 搭建 maven 私服
4. maven 镜像
5. maven jetty 插件使用
6. maven jdk 版本配置
7. eclipse maven plugin 插件 安装 和 配置
8. maven 安装
9. ORCP : 从数据库表到 java 对象生成的 eclipse 插件
10. jexcel 读写EXCEL
11. linux 系列
12. spring mvc(2):请求地址映射(@RequestMapping)
13. spring mvc(1):基础入门
14. Java 验证码、二维码
15. GXT —— TreePanel 组件(一)
搜索
积分与排名
积分 - 1459851
排名 - 15
最新评论
1. re: Maven 手动添加 JAR 包到本地仓库[未登录]
刚安装好的maven,仓库里没有jar包,如何添加jar包呢?
--Firefly
2. re: java 建造者模式(Builder)
多谢,讲的很清楚
--Nimo
3. re: Maven 手动添加 JAR 包到本地仓库
很好很强大, 完美的解决了我的问题。。。
--klose
4. re: eclipse maven plugin 插件 安装 和 配置
@fancydeepin
链接还是失效了啊
--菜鸟一号
5. re: Maven 手动添加 JAR 包到本地仓库[未登录]
@呼吸~
你好,请问,怎么设置代理呢?
--paul
阅读排行榜
1. eclipse maven plugin 插件 安装 和 配置(325711)
2. Maven 手动添加 JAR 包到本地仓库(199610)
3. Lombok 安装、入门 - 消除冗长的 java 代码(154808)
4. java 异常捕捉 ( try catch finally ) 你真的掌握了吗?(70144)
5. maven jetty 插件使用(49027)
6. JSP/Servlet 工作原理(43092)
7. maven jdk 版本配置(40963)
8. spring mvc(2):请求地址映射(@RequestMapping)(39529)
9. 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ](31210)
10. maven 多模块项目(27839)