eclipse lombok插件安装_便捷开发,解放双手,lombok插件
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的路径。
既然jar的功能是生成路径,那其实我们也可以选择手动安装,直接将lombok.jar包拷贝到eclipse的安装目录下,并且在eclipse.ini添加lombok的路径。
1.IDEA安装lombok
在IDEA中选择File->Setting->Plugins搜索Lombok Plugin,点击install,安装完成后重启IDEA即可。
二、lombok使用
在安装插件后,就开始来体验lombok吧,要想使用lombok,只需要在pom文件(maven项目)中引入依赖即可,然后就可以愉快的玩耍了。
下面我们就来看看lombok常用的一些注解。
随便常见一个工程,引入lombok依赖。
1.@Getter/@Setter
这个从名字上大概就已经可以看出大概个用法,就是提供getter/setter方法,从而避免了修改字段需要从新生成getter/setter方法。这个注解可以使用在字段上,提供单个字段的getter/setter,也可以直接写在类上,提供整个类所有非静态成员变量的getter/setter。
2.@ToString/@EqualsAndHashCode
同样故名思议,这也是lombok的特点,看名字就知道用法,这两个注解就是生成toString,equals和hashcode方法。同时后者还会生成一个canEqual方法,用于判断某个对象是否是当前类的实例,生成方法时只会使用类中的非静态和非transient成员变量 。
那如果不想使用默认的所有字段呢,这两个注解也提供了of来指定包含,或者使用exclude属性来指定排除。
3.@NoArgsConstructor/@AllArgsConstructor/@RequiredArgsConstructor
这三个注解就是提供构造方法,NoArgs表示无参数,AllArgs表示全部参数,而Required表示可以选的。
@NoArgsConstructor和@AllArgsConstructor直接使用即可,但@RequiredArgsConstructor怎么使用呢,它怎么知道我要使用哪些参数的,所以这个注解必须和另一个注解配合使用,那就是@NonNull,它用来指定构造参数需要使用那些个参数。
@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注解的参数为空时,则会抛出异常。
6.@Cleanup
在很多设计资源读取时,我们在资源文件使用完之后都需要手动去关闭资源,一般做法是使用try……finally,而@Cleanup就相当于这种写法,会在资源使用后关闭资源。
7.@SneakyThrows
编写代码时,我们常常要处理各种异常,@SneakyThrows则可以自动生成try……catch代码块,然后对于6的代码,我们就可以改写如下,是不是瞬间清爽了很多,但是@SneakyThrows是包裹整个方法,如果只想包裹方法里面部分代码语句,那只能自己动手了。
8.@Log/@Slf4j/@Log4j等
这类注解就是生成默认生成一个log日志对象,供程序中调用,具体使用什么日志,得取决于项目采用的日志系统。
这就是关于lombok的一部分注解,更多注解和功能大家可以自行摸索或者翻阅资料。最后,友情提示,用lombok一时爽,一直用lombok一直爽。
eclipse lombok插件安装_便捷开发,解放双手,lombok插件相关推荐
- 推荐几个好用的IDEA插件_让你解放双手的秘密
推荐几个好用的IDEA插件_让你解放双手的秘密 今天给大家介绍几个常用的IDEA插件,能给大家在枯燥的IDE里带来更好的coding体验.主要有阿里巴巴编程规范插件.翻译插件.代码自动补全插件.代码快 ...
- 适用于typecho的百度自动收录链接提交插件及代码操作,解放双手,再也不用手动提交收录了!
原文链接:https://www.waoww.com/typecho-plugin/typecho-plugin-AutoBaiduSubmit.html 好吧,最近没事闲逛的时候,发现了一个有趣的插 ...
- 解决vscode插件安装不成功,xxx.vue高亮插件问题
解决vscode插件安装不成功,xxx.vue高亮插件问题 提示:vue插件 vue中 xxx.vue 的插件,没安装之前是黑白显示,安装之后彩色.语法高亮插件是 "Vue 3 Snippe ...
- eclipse lombok插件安装_如果你是Java架构师或项目经理,项目技术会允许使用Lombok吗?
Lombok Lombok项目是一个Java库,通过注解,来消除Java类中的大量样板代码.比如常见的Getter&Setter.toString().构造函数等等. 看个例子,以前我们构建一 ...
- idea lombok插件安装_开发效率不高?墙裂推荐这十款精选 IntelliJ IDEA 插件
作者 | 雷架来源 | 爱笑的架构师(ID:DancingOnYourCode) 头图 | CSDN 下载自东方IC 俗话说:"工欲善其事必先利其器",小主从项目实战的角度在众多的idea插件中挑选 ...
- vim插件安装_如何安装Vim插件
vim插件安装 尽管Vim快速高效,但默认情况下,它只是一个文本编辑器. 至少,这就是没有插件的情况,插件基于Vim并添加了额外的功能,使其不仅具有键入文本的窗口,还具有更多的功能. 正确搭配各种插件 ...
- android中的插件开发框架,设计并开发一个 Android 的插件化框架
结合动态加载系列文章的分析,现在开始设计并开发一个 Android 的插件化框架,命名为 Frontia.Frontia 有 "前端" 的意思,寓意着 Android 插件能像前端 ...
- 3s安装JupyterLab,4步完成JupyterLab插件安装(附多款高生产力插件推荐)
Jupyter相信大家都不陌生,我们会经常用Jupyter来完成数据清理.转化.数值模拟.统计建模.机器学习等等,而且Jupyter本身将代码和输出集成在一个文档上,在日常工作过程中更加有效的提高我们 ...
- Sublime Text 3 的插件安装(完美解决插件安装出错的问题)及常用插件推荐
一.安装Package Control包 1.用Chrome插件setupvpn翻出去(只要能翻啥都行),然后打开 https://packagecontrol.io/installation 2.下 ...
最新文章
- centos6.3下yum安装redis
- 返璞归真的Linux BFS调度器
- Oracle通过OCI批量加载需要注意的问题
- MySQL中group_concat()函数用法总结
- 【BZOJ 3229】 3229: [Sdoi2008]石子合并 (GarsiaWachs算法)
- 状态反射在体育运动中的作用_建筑用热反射隔热涂料的研究进展
- 前端学习(847):H5自定义属性
- 02-go的IDE安装
- 迁移分支_资料 | 迁移学习简明手册
- Linux内核:kprobe机制-探测点
- java 屏幕键盘io
- 使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)
- 有没有大佬无偿提供一下 华为HCNA-Cloud Service-题库H13-811
- vscode插件(安装路径),压缩js文件解压,方便查看
- 手游中控台多开脚本实战
- 合成分红游戏源码_ThinkPHP宠物养成合成类游戏APP陀螺世界程序源码 已优化
- 苹果账号的分类以及注册免费苹果账号
- 数据中心产业深度报告:IDC产业链景气周期及投资框架分析
- P1251 餐巾计划问题 解题报告
- IDEA中pom文件变成了橘色
热门文章
- 国内免费GPU资源哪里找,让我告诉你最新的薅羊毛“秘籍”
- Github大热论文 | U-GAT-IT:基于GAN的新型无监督图像转换
- KDD 18论文解读 | 斯坦福大学提出全新网络嵌入方法 — GraphWave
- 每周论文清单:高质量文本生成,多模态情感分析,还有一大波GAN | PaperDaily #26
- ajax 入参为list_ajax传递给后台数组参数方式
- 【Java注解系列】内置注解与AOP实现自定义注解
- PDF搜索、转换与处理类网站
- Plus from Picture
- IDEA第一个mybatis程序 mybatis增删查改操作 mybatis的map模糊查询
- spark sql and hive 3g数据测试