Lombok使用与问题
前言
想想已经工作了一年,工作中遇到的问题一直没有记录下来,以后遇到相同的问题可能还需要花费很多的时间,因此打算记录一下博客。方便以后自己的复习和问题查找
刚好最近项目引入了Lombok,刚好从现在起记录一下自己的学习与成长
一、Lombok安装
Lombok是一个开源项目,源代码托管在github上,使用的时候需要在maven中引入jar包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>
并且需要在开发工具中安装插件。通过eclipse或idea的插件市场自动安装即可。
还可以通过jar包本地安装:在jar包所在目录打开windows命令行,输入
java -jar lombok-1.16..jar
程序会自动找到eclipse或idea安装目录,点击Install/Update安装即可
二、Lombok注解使用
Lombok常用的注解有
@Getter @Setter @ToString @EqualsAndHashCode @Data @NonNull
其中前4个注解顾名思义即可知道是什么意思,在类上标注后,Lombok即可生成对应的方法
其实我们只需要@Data一个注解即可,它可以生成getter、setter、equals、canEqual、hashCode、toString方法。
使用起来十分方便,也会简化了平时我们的开发
@NonNull :该注解加在属性上,使用该注解可以在对应属性的set方法中判断是否为空,若为空则会抛出空指针异常
虽然提高了编码效率,却存在一个重要的问题,如果我们的类中有继承关系并且使用到equals方法比较的话,最好不要使用Lombok,@Data和@EqualsAndHashCode两个注解所生成的方法只会比较子类的属性,对于父类的属性不会去做比较,因此可能子类属性相同继承下来的属性不相同的两个对象会被判断为相等
三、总结
Lombok虽然帮助我们大大简化了代码,提高了整洁度,但是却降低了可读性,也对继承的特性支持不是很好,某些情况下是可以增加我们的效率,但是建议还是自己编写,毕竟开发工具可以自动生成方法,也不会有多麻烦,并且在equals方法比较的时候也可以高度的自定义。
Lombok使用与问题的更多相关文章
- 记录一次bug解决过程:eclipse集成lombok插件
一 总结 eclipse集成插件lombok: 启动Spring Boot项目: sublime全局搜索关键字:ctrl + shift + F JDK8中的lambda表达式使用 二 BUG描述:集 ...
- lombok在IntelliJ IDEA下的使用
lombok是一款可以精减java代码.提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之类的代码.代码越少,意味着出b ...
- lombok 简化java代码注解
lombok 简化java代码注解 安装lombok插件 以intellij ide为例 File-->Setting-->Plugins-->搜索"lombok plug ...
- Lombok 安装、入门 - 消除冗长的 java 代码
lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码. lombok 的官方网址:http://projectlombok.org/ lombok 安装1. ...
- lombok介绍
Lombok是一种JavaArchive(JAR)文件,可用来消除Java代码的冗长.在写代码时,可以通过这个插件消除各种getter和setter,toString等常用方法. lombok 注解: ...
- Lombok简化Java代码
导包:import lombok.Data; Lombok简化Java代码: 在Lombok中,生成构造方法的annotation一共有三个:@NoArgsConstructor, @Required ...
- myeclipse 手动安装 lombok
1. 将 lombok.jar 复制到 myeclipse.ini / eclipse.ini 所在的文件夹目录下 2. 打开 eclipse.ini / myeclipse.ini,在最后面插 ...
- lombok+slf4j+logback SLF4J和Logback日志框架详解
maven 包依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lomb ...
- Java代码简化神器-Lombok
一.背景 前段时间在开源社区中发现了一个比较牛逼的简化Java代码的神器-Lombok,接着自己写了demo进行测试和练习,感觉真的很不错,特此分享给需要的小伙伴们~ 二.开发之前的准备 1.lomb ...
- MyEclipse安装lombok
1. 将lombok.jar复制到myeclipse.ini所在的文件夹 2. 打开myeclipse.ini,插入以下两行: -Xbootclasspath/a:lombok.jar-javaage ...
随机推荐
- Plexus容器学习笔记
1. Plexus引入 Plexus是什么?它是一个IoC容器,由codehaus在管理的一个开源项目.和Spring框架不同,它并不是一个完整的,拥有各种组件的大型框架,仅仅是一个纯粹的IoC容器. ...
- C# 添加,修改,删除Xml节点
//添加xml节点 private void AddXml(string image, string title) { XmlDocument xmlDoc = new X ...
- t-sql read xlsx
How to Read and Load an Excel 2007 or Excel 2010 File Without Using Import/Export Utility To read an ...
- (Python OpenGL)【 0】关于VAO和VBO以及OpenGL新特性
(Python OpenGL)关于新版OpenGL需要了解的: 随着OpenGL状态和固定管线模式的移除,我们不在用任何glEnable函数调用,而且也不会有glVertex.glColor等函数调用 ...
- maven部署Tomcat(出现空白页面,最终解决)
- zabbix发送邮件脚本
#!/usr/bin/env python #-*- coding: UTF- -*- import os,sys reload(sys) sys.setdefaultencoding('utf8') ...
- angularJs基础学习
实例化一个angularJs模块 <body class="hold-transition skin-red sidebar-mini" ng-app="app&q ...
- sklearn.metrics.roc_curve使用说明
roc曲线是机器学习中十分重要的一种学习器评估准则,在sklearn中有完整的实现,api函数为sklearn.metrics.roc_curve(params)函数. 官方接口说明:http://s ...
- 使用Spring和JQuery实现视频文件的上传和播放
Spring MVC可以很方便用户进行WEB应用的开发,实现Model.View和Controller的分离,再结合Spring boot可以很方便.轻量级部署WEB应用,这里为大家介绍如何使用Spr ...
- Problem06 求最大公约数及最小公倍数
题目:输入两个正整数m和n,求其最大公约数(m,n)和最小公倍数[m,n]. 程序分析:利用辗转相除法. 利用辗除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数, 再用出现的余数(第二余数 ...