eclipse lombok插件安装_便捷开发,解放双手,lombok插件

a25c2164e9727fe24107af94cce0b2d1.png

lombok是一款Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO)。

在实际开发中,是不是发现经常需要变更model类、vo类、dto等一些实体类,随便编码工具Eclipse或者idea等都可以一键重新生成getter或setter方法,但是做起来依然很繁琐。

有没有更好更优雅的解决方法呢,lombok就是答案。lombok采用注解的方式,消除代码中的构造方法,getter/setter等代码,使我们写的类更加简洁,修改起来更加方便快捷。

当然,这带来的副作用就是不易阅读,不过,对于本来就简单的getter/setter之类,我觉得并不是很大的影响。

一、lombok安装

工欲善其事,必先利其器,要使用lombok,我们先要给我们的编辑器安装lombok插件。这里主要介绍下eclipse与IDEA集成lombok。

1.eclipse安装lombok

首先到官网下载插件,地址:http://projectlombok.org/

下载按成后,可以看到lombok本身就是一个java的jar程序。所以可以直接选择在lombok的位置执行java -jar lombok.jar,或者直接双击lombok.jar,然后点击install/update即可安装。安装成功后eclipse目录下的eclipse.ini文件中将会有lombok.jar的路径。

a59a1bb06e620bad8864a413a57ef0b2.png

既然jar的功能是生成路径,那其实我们也可以选择手动安装,直接将lombok.jar包拷贝到eclipse的安装目录下,并且在eclipse.ini添加lombok的路径。

4b7b609343309256fba799e10595a616.png

1.IDEA安装lombok

在IDEA中选择File->Setting->Plugins搜索Lombok Plugin,点击install,安装完成后重启IDEA即可。

56b539fedeffc50c60435346a1ea7d00.png

二、lombok使用

在安装插件后,就开始来体验lombok吧,要想使用lombok,只需要在pom文件(maven项目)中引入依赖即可,然后就可以愉快的玩耍了。

be9d715990db0945156f1121d79231a5.png

下面我们就来看看lombok常用的一些注解。

随便常见一个工程,引入lombok依赖。

1.@Getter/@Setter

这个从名字上大概就已经可以看出大概个用法,就是提供getter/setter方法,从而避免了修改字段需要从新生成getter/setter方法。这个注解可以使用在字段上,提供单个字段的getter/setter,也可以直接写在类上,提供整个类所有非静态成员变量的getter/setter。

378770ed2abe5192c7a2c62937812a22.png

2.@ToString/@EqualsAndHashCode

同样故名思议,这也是lombok的特点,看名字就知道用法,这两个注解就是生成toString,equals和hashcode方法。同时后者还会生成一个canEqual方法,用于判断某个对象是否是当前类的实例,生成方法时只会使用类中的非静态和非transient成员变量 。

那如果不想使用默认的所有字段呢,这两个注解也提供了of来指定包含,或者使用exclude属性来指定排除。

33f65e42bb9719d5eefdf652b5bc21e3.png

3.@NoArgsConstructor/@AllArgsConstructor/@RequiredArgsConstructor

这三个注解就是提供构造方法,NoArgs表示无参数,AllArgs表示全部参数,而Required表示可以选的。

@NoArgsConstructor和@AllArgsConstructor直接使用即可,但@RequiredArgsConstructor怎么使用呢,它怎么知道我要使用哪些参数的,所以这个注解必须和另一个注解配合使用,那就是@NonNull,它用来指定构造参数需要使用那些个参数。

378770ed2abe5192c7a2c62937812a22.png

@RequiredArgsConstructor在使用会有一点小bug,可以看到此时我们是没有无参的构造方法,且代码提示也不包含无参数的构造方法,但是并不影响调用,也是可以正常运行使用的。

4.@Data/@Value

@Data注解综合前面的@Getter/@Setter,@ToString/@EqualsAndHashCode,@NoArgsConstructor和@RequiredArgsConstructor ,所以一般的po或者vo类,这一个注解就ok了。

@Value注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

5.@NonNull

@NonNull除了与@RequiredArgsConstructor结合使用,还可以用来做空校验,当使用@NonNull注解的参数为空时,则会抛出异常。

774df8236280ddc07d231321287c02ee.png

6.@Cleanup

在很多设计资源读取时,我们在资源文件使用完之后都需要手动去关闭资源,一般做法是使用try……finally,而@Cleanup就相当于这种写法,会在资源使用后关闭资源。

689903bdea02bc1f56b03fb10ffd8252.png

7.@SneakyThrows

编写代码时,我们常常要处理各种异常,@SneakyThrows则可以自动生成try……catch代码块,然后对于6的代码,我们就可以改写如下,是不是瞬间清爽了很多,但是@SneakyThrows是包裹整个方法,如果只想包裹方法里面部分代码语句,那只能自己动手了。

05c020cac6dbd7fb06626943a6772578.png

8.@Log/@Slf4j/@Log4j等

这类注解就是生成默认生成一个log日志对象,供程序中调用,具体使用什么日志,得取决于项目采用的日志系统。

92cd28baa475d81bd353e69ae34eb620.png

这就是关于lombok的一部分注解,更多注解和功能大家可以自行摸索或者翻阅资料。最后,友情提示,用lombok一时爽,一直用lombok一直爽。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值