『了解即可』SpringBoot 2.x:整合Lombok
Posted 普通且阳光的码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了『了解即可』SpringBoot 2.x:整合Lombok相关的知识,希望对你有一定的参考价值。
蓝色
概述
Lombok的官方介绍
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.
Lombok的使用
添加Maven依赖,版本可以根据官方提供自行设置
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
打开
File > Settings > Plugins
点击
Browse repositories...
搜索
Lombok Plugin
点击
Install plugin
最后重启 IntelliJ IDEA
Lombok在代码中主要以注解的形式使用,下面就介绍几个常用的注解
@Data
: 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法;
@Setter
: 注解在属性上;为属性提供 setting 方法
@Setter
: 注解在属性上;为属性提供 getting 方法
@Log4j
: 注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor
: 注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor
: 注解在类上;为类提供一个全参的构造方法
@Cleanup
: 可以关闭流
@Builder
: 被注解的类加个构造者模式
@Synchronized
: 加个同步锁
@SneakyThrows
: 等同于try/catch 捕获异常
@NonNull
: 如果给参数加个这个注解 参数为null会抛出空指针异常
@Value
: 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法
Lombok有什么坏处?
强X队友
因为Lombok的使用要求开发者一定要在 IDEA 中安装对应的插件,如果没有安装,使用IDEA 打开一个基于 Lombok 的项目会提示找不到方法等错误,导致项目编译失败。也就是说,项目组中有一个人使用了 Lombok,那么其他人就必须安装插件,否则没办法协同开发。
代码可读性,可调试性低
在代码中使用了Lombok,确实可以帮忙减少很多代码,因为Lombok会帮忙自动生成很多代码。但是这些代码是要在编译阶段才会生成的,所以在开发的过程中,其实很多代码其实是缺失的。
在代码中大量使用Lombok,就导致代码的可读性会低很多,而且也会给代码调试带来一定的问题。
破坏封装性
如果我们在代码中直接使用Lombok,那么他会自动帮我们生成getter、setter 等方法,这就意味着,一个类中的所有参数都自动提供了设置和读取方法。
总结
以上就是Spring boot整合 Lombok 的全部内容。
1、
2、
3、
4、
如果你喜欢这篇文章,就点下关注
一起学习 共同进步
期待美好的生活,明天见 (* ̄︶ ̄)
以上是关于『了解即可』SpringBoot 2.x:整合Lombok的主要内容,如果未能解决你的问题,请参考以下文章
Springboot 2.x 整合Dubbo 2.6.x和Dubbo 2.7.x