摘要:什么是一言以蔽之是一种工具,提供了简单的注解来简化我们的重复冗长代码。但在实际的项目中,我们常常只在定义的时候用上,而在业务代码中很少用到。总结是个非常有用的工具,能够帮助我们精简很多臃肿冗长的代码,不过也有其局限性,推荐在定义中使用。
什么是Lombok
一言以蔽之:lombok是一种工具,提供了简单的注解来简化我们的重复冗长Java代码。
比如一个Java Bean,注解了lombok的@Data:
@Data public class NormalBean { private String name; }
等价于以下代码,Getter/Setter,toString,equals和hashCode方法会在编译时自动生成。
public class NormalBean { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; NormalBean that = (NormalBean) o; return name != null ? name.equals(that.name) : that.name == null; } @Override public int hashCode() { return name != null ? name.hashCode() : 0; } @Override public String toString() { return "NormalBean{" + "name="" + name + """ + "}"; } }
lombok的官网,官网上有比较详细的文档。
安装lombok不仅要在项目中添加jar包,也要通过插件的形式开启IDE的支持。如果你的项目是maven构建的,那么需要在pom.xml中添加以下依赖:
org.projectlombok lombok 1.16.10
这里推荐使用bom的形式管理pom依赖。比如Spring io platform里就包含了lombok的dependencyManagement。
idea在idea下lombok的安装比较简单,在plugin里面安装lombok plugin即可
eclipse将lombok.jar 复制到 eclipse.ini所在文件夹的根目录
编辑 eclipse.ini ,在末尾加入:
-Xbootclasspath/a:lombok.jar -javaagent:lombok.jar
重启
其他的IDE添加lombok支持请看这里
用途lombok包含了很多注解,如果全部用上,的确可以精简很多的代码。但在实际的项目中,我们常常只在定义Java Bean的时候用上lombok,而在业务代码中很少用到。因为lombok虽然能精简代码,但缺点也非常明显:
降低代码的可读性
调试困难
大部分情况下,我们都应该将代码的可读性放在编码要考虑因素的首位,以下这几个是我觉得最常用的几个lombok注解:
@Data
@Setter/Getter
@Log
@NoArgsConstructor, @RequiredArgsConstructor和 @AllArgsConstructor
@Builder
@Log和一系列相关注解(如@Log4j,@Slf4j)是我最喜欢的注解,不用写一堆的getLogger。还有@Builder也很方便,应付简单的Builder模式足以。
总结lombok是个非常有用的工具,能够帮助我们精简很多臃肿冗长的代码,不过也有其局限性,推荐在定义Java Bean中使用。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/66102.html
摘要:提高编码效率使代码更简洁消除冗长代码避免修改字段名字时忘记修改方法名提高下逼格以上就是的优点,当然,的优点远远不止以上几点,使用,你可以更加优雅高效的编辑代码。实战完成了上述准备之后,就可以愉快的使用进行编码了。接下来是使用简化后的代码。 Lombok介绍 近来偶遇一款撸码神器,介绍给大家~相信许多小伙伴都深有体会,POJO类中的千篇一律的getter/setter,construct...
摘要:还提供了全部参数的构造函数的自动生成,该注解的作用域也是只有在实体类上,因为只有实体类才会存在构造函数。当然除了全部参数的构造函数,还提供了没有参数的构造函数,使用方式与一致。 Lombok对于Java偷懒开发者来说应该是比较中意的,恰恰笔者就是一个喜欢在小细节上偷懒来提高开发效率的人。所以在技术框架的海洋里寻找了很久才在GitHub开源平台上找到,而在这之前国外很多程序猿一直使用该框...
摘要:虽然有人可能会说里面都自带自动生成这些方法的功能,但是使用会使你的代码看起来更加简洁,写起来也更加方便。使用不使用自动生成方法使用不使用自动生成无参数构造函数。 一、lombok简介 lombok是在学习过程中发现的一个非常好用的小工具,用了之后感觉的确很不错,所以特此来推荐一下。 lombok的官方地址:https://projectlombok.org/ lombok的Github...
摘要:创建对象工具类设置父类设置属性的使用范围,如等,也可以设置属性是否被修饰。所以显示的是按钮重启。即使没有重写方法,依然可以调用,而且结果和重写了方法一样。最后奉上项目完整代码后语以上就是我对插件的理解与使用,希望对你们有帮助。 微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 上周去了开年会,去的地方是温泉度假村。老实说,我是无感的,90% 是因为没中...
摘要:使用方法能以简单的注解形式来简化代码,提高开发人员的开发效率。能通过注解的方式,在编译时自动为属性生成构造器方法。出现的神奇就是在源码中没有和方法,但是在编译生成的字节码文件中有和方法。没法实现多种参数构造器的重载。 1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a spicier language by addi...
阅读 3392·2021-11-22 15:22
阅读 2373·2021-09-06 15:00
阅读 874·2020-06-22 14:39
阅读 3705·2019-08-30 15:56
阅读 1542·2019-08-30 12:55
阅读 3266·2019-08-29 17:19
阅读 3234·2019-08-26 11:41
阅读 615·2019-08-23 17:14