简化java_Java代码简化神器-Lombok

一、背景

前段时间在开源社区中发现了一个比较牛逼的简化Java代码的神器-Lombok,接着自己写了demo进行测试和练习,感觉真的很不错,特此分享给需要的小伙伴们~

二、开发之前的准备

2.lombok IDE插件安装

要想在IDE中使用lombok是需要安装相关插件的。如果不安装,IDE 则无法解析 lombok 注解。安装之前需要首先在官方网站下载相关jar包,现在官网版本是:1.16.8.

[1].使用java -jar lombok.jar进行安装,安装过程如下

cmd窗口下运行java -jar lombok.jar命令

28824284bd5f5185a3359cef75b6a452.png

出现以下界面,点击确定

42649fec3b447f3d2d460bb0c2a3a39d.png

这是因为lombok插件没办法直接找到你的IDE的安装位置。接着你选择Specify location...按钮

ca913a58d54cc1b94dbe7886069f95e4.png

选择你的IDE的安装位置的.exe文件,点击Install/Update按钮。

01e0f79ab7cfab85c28b87e9b0190be1.png

弹出如下弹窗,点击确定,安装就完成了。

97dd785bd3c4c93538ac119780a1bc56.png

之后,打开IDE的安装位置,你会发现在该位置多了lombok.jar在myeclipse.ini / eclipse.ini中也多了-javaagent:lombok.jar一句话

25630d43991edabc3ec2d859aff7fd58.png

f8c93bebd6e1f85649c23d30dc5ac437.png

到此为止,eclipse的lombok插件的安装已经完成。

[2].eclipse / myeclipse 手动安装 lombok

(1).将 lombok.jar 复制到 myeclipse.ini / eclipse.ini 所在的文件夹目录下

(2)打开 eclipse.ini / myeclipse.ini,在最后面插入以下一行并保存:

-javaagent:lombok.jar

(3).重启 eclipse / myeclipse

3.lombok注解

常用的注解:

@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法。

@Setter:注解在属性上;为属性提供 setting 方法。

@Getter:注解在属性上;为属性提供 getting 方法。

@Log4j:注解在类上;为类提供一个 属性名为log 的 log4j 日志对象。

@Slf4j:注解在类上,为类提供一个属性名为log的slf4j日志对象

@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法。

@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法。

三、lombok实战开发

1.没有使用lombok的代码块

1 packagecom.hafiz.zhang.test;2

3 importorg.slf4j.Logger;4 importorg.slf4j.LoggerFactory;5

6 public classCommonBean {7 privateInteger id;8 privateString name;9 private static Logger log = LoggerFactory.getLogger(CommonBean.class);10 publicInteger getId() {11 returnid;12 }13 public voidsetId(Integer id) {14 this.id =id;15 }16 publicString getName() {17 returnname;18 }19 public voidsetName(String name) {20 this.name =name;21 }22 publicCommonBean(Integer id, String name) {23 this.id =id;24 this.name =name;25 }26 @Override27 publicString toString() {28 return "CommonBean [id=" + id + ", name=" + name + "]";29 }30 @Override31 public inthashCode() {32 final int prime = 31;33 int result = 1;34 result = prime * result + ((id == null) ? 0: id.hashCode());35 result = prime * result + ((name == null) ? 0: name.hashCode());36 returnresult;37 }38 @Override39 public booleanequals(Object obj) {40 if (this ==obj)41 return true;42 if (obj == null)43 return false;44 if (getClass() !=obj.getClass())45 return false;46 CommonBean other =(CommonBean) obj;47 if (id == null) {48 if (other.id != null)49 return false;50 } else if (!id.equals(other.id))51 return false;52 if (name == null) {53 if (other.name != null)54 return false;55 } else if (!name.equals(other.name))56 return false;57 return true;58 }59 public voidsayHello(String name){60 log.info("调用 CommonBean 的sayHello方法");61 System.out.println("Hello " +name);62 }63 }

2.使用了lombok简化代码以后的代码块

1 packagecom.hafiz.zhang.test;2

3 importlombok.Data;4 importlombok.extern.slf4j.Slf4j;5

6 @Data7 @Slf4j8 public classLombokBean {9 privateInteger id;10 privateString name;11 publicLombokBean(Integer id, String name) {12 this.id =id;13 this.name =name;14 }15 public voidsayHello(String name){16 log.info("调用 LombokBean 的sayHello方法");17 System.out.println("Hello " +name);18 }19 }

有的小伙伴可能疑问了,到底这样写该类具不具有上面普通代码bean中包含的方法呢?那我们可以通过简化类的outline进行查看,如下

6e4fe9c30fb846b105406c0a77b01643.png

我们发现上那些方法和log对象,在我们的简化代码里面全都有!是不是太爽了。那我们接下来就进行测试,看看效果是不是一样?

注:在使用 lombok 注解的时候需要 lombok依赖(一般导入lombok.jar 包到工程)

1 packagecom.hafiz.zhang.test;2

3 public classTestLombok {4 public static voidmain(String[] args) {5 LombokBean test = new LombokBean(1, "Hafiz.Zhang.LombokBean");6 CommonBean test2 = new CommonBean(1, "Hafiz.Zhang.CommonBean");7 test.sayHello(test.getName());8 test2.sayHello(test2.getName());9 }10 }

测试结果

2016-05-21 14:46:21 [ INFO ] [ com.hafiz.zhang.test.LombokBean.sayHello(LombokBean.java:16)-main:0 ] - [ ] 调用 LombokBean 的sayHello方法

Hello Hafiz.Zhang.LombokBean

2016-05-21 14:46:21 [ INFO ] [ com.hafiz.zhang.test.CommonBean.sayHello(CommonBean.java:60)-main:5 ] - [ ] 调用 CommonBean 的sayHello方法

Hello Hafiz.Zhang.CommonBean

发现效果完全的一样!爽到爆有木有!

注:lombok基本支持常见的java开发IDE,如:eclipse、myeclipse、idea等,都有对应的插件,本文直接介绍了eclipse和myeclipse的安装方式,idea请自行查资料了解和安装。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值