STS(Spring Tool Suite)中使用lombok
前言
今天博主将为大家分享:STS(Spring Tool Suite)中使用lombok,不喜勿喷,如有异议欢迎讨论!
和其他语言相比, Java经常因为不必要的冗长被批评。 Lombok提供了一系列注解用以在后台生成模板代码,将其从你的类中删除,从而有助于保持你的代码整洁。较少的模板意味着更简洁的代码,更易于阅读和维护。在本文中,我将涉及我经常使用的 Lombok功能,并想你展示如何使用他们生产更清晰、更简洁的代码。
lombok的作用
通过简单注解来实现精简代码,达到消除冗长代码的目的,主要用于实体类上。它的优点是:
- 提高编码效率
- 使代码更简洁
- 消除冗长代码
- 避免修改字段名时忘记修改方法名
- 提高逼格
- lombok默认提供了对Log4J 和 logback 日志工具的支持。
在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等一系列方法的编写
STS安装lombok插件
STS工具集成lombok插件的实现步骤如下:
- 下载 lombok.jar (https://projectlombok.org/download.html)
- 关闭STS开发工具
- 将 lombok.jar 放在sts(eclipse)安装目录下,和sts.ini文件平级
- 运行lombok.jar,在lombok.jar目录下,运行:
java -jar lombok.jar
,运行后弹出下图。点击左
侧Specify location按钮(图1),找到STS安装目录下的STS.exe程序选中打开(或等待搜索出),勾选,
点击按钮 Instal/Update;
- 之后关闭窗口并重新打开STS即可。
注意:STS的安装目录不能含有中文,否则安装完lombok后会无法打开。
在pom.xml引入lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.16.12</version>
</dependency>
lombok的使用
lombok提供一系列的注解,作用在类名上,常用注解及含义如下👀:
注解名称 | 含义 | 是否默认生成无参构造方法 |
---|---|---|
@Setter | 生成对应的setter方法 | 是 |
@Getter | 生成对应的getter方法,生成的getter遵循布尔属性的约定。例如:boolean类型的sex,getter方法为 isSex 而不是 getSex | 是 |
@Data | 该注解使用在类上,该注解会提供getter、setter、equals、canEqual、hashCode、toString方法。 | 否 |
@Log | 这是一个泛型注解,具体有很多种形式 。(具体请参考Log官方介绍) | |
@AllArgsConstructor | 该注解提供一个全参数的构造方法 | 否 |
@NoArgsConstructor | 该注解提供一个无参构造 | — |
@EqualsAndHashCode | 该注解在类级别注释会同时生成 equals 和 hashCode 。 注意继承关系的时候该注解的使用。详细介绍参照官方介绍 | |
@NonNull | 该注解使用在属性上,该注解用于属的非空检查,当放在setter方法的字段上,将生成一个空检查,如果为空,则抛出NullPointerException 。 | 是 |
@Cleanup | 该注解使用在属性前,该注解是用来保证分配的资源被释放。在本地变量上使用该注解,任何后续代码都将封装在try/finally中,确保当前作用于中的资源被释放。默认 @Cleanup 清理的方法为 close ,可以使用value指定不同的方法名称 | 否 |
@ToString | 该注解使用在类上,该注解默认生成任何非讲台字段以名称-值的形式输出。 1、如果需要可以通过注释参数includeFieldNames 来控制输出中是否包含的属性名称。2、可以通过 exclude 参数中包含字段名称,可以从生成的方法中排除特定字段。3、可以通过 callSuper 参数控制父类的输出。 | 否 |
@RequiredArgsConstructor | 该注解使用在类上,使用类中所有带有 @NonNull 注解的或者带有 final 修饰的成员变量生成对应的构造方法 | 否 |
@Value | 这个注解用在 类 上,会生成含所有参数的构造方法,get 方法,此外还提供了equals、hashCode、toString 方法。 注意:没有setter | 否 |
@SneakyThrows | 该注解使用在方法上,这个注解用在 方法 上,可以将方法中的代码用 try-catch语句包裹起来,捕获异常并在 catch 中用Lombok.sneakyThrow(e) 把异常抛出,可以使用@SneakyThrows(Exception.class) 的形式指定抛出哪种异常。该注解需要谨慎使用。详情参看官方介绍 | 否 |
@Synchronized | 该注解使用在类或者实例方法上,Synchronized在一个方法上,使用关键字可能会导致结果和想要的结果不同,因为多线程情况下会出现异常情况。Synchronized | 否 |
以上注解全是放在实体类上,请大家逐一测试
到这里:STS(Spring Tool Suite)中使用lombok,分享完毕了,快去试试吧!
最后
-
终于上了一片Lombok系列迟到了
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!