Lombok
发表于:2019-10-23 | 分类: 后端

IDEA中使用lombok

下载插件lombok插件, 然后引入lombok的maven坐标即可

lombok常用注解

@Data

注解在类上,提供类所有属性的 getting 和 setting、equals,canEquals,hashCode,toString 方法

@Setter

注解在类上为该类中所有属性提供 setting 方法(也可注解在属性上)

@Getter

注解在类上;为该类中所有属性提供 getting 方法(也可注解在属性上)

@ToString

注解在类上;为该类中所有属性提供 toString 方法(也可注解在属性上)

@NoArgsConstructor

注解在类上;为类提供一个无参的构造方法

@AllArgsConstructor

注解在类上;为类提供一个全参的构造方法

@Cleanup

可以关闭流

@Accessors(chain=true)

可以使设置属性值的set方法返回当前调用该方法的对象实例,方便链式调用

假如我们要读取一个 txt文本文件,一般会这样写代码:
Lombok1

注意,这个文件句柄在使用完成之后是一定要手动 close的,否则就有可能资源泄漏。

有了Lombok之后,这种擦屁股活儿统统不用干了,一个 @Cleanup注解即可搞定
Lombok2

@Slf4j

贴到类上, 然后该类里面就可以使用log.xxx()记录日志了
Lombok3

打印日志时必须使用参数化信息的方式打印日志

log.info(“账号{},密码{}登录成功!”,account,password);

在使用lombok的时候, 如果需要使用lombok提供的@Sl4j注解记录日志, 则需要添加Slf4j相关依赖

使用SLF4J时报错SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”

此时只需要再添加一个依赖即可

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-nop</artifactId>
    <version>1.7.2</version>
 </dependency>

@EqualsAndHashCode

为类自动生成hashCode和equals实现

@NonNull

Lombok的 @NonNull注解可以自动帮我们避免空指针判断。

该注解作用在方法参数上,用于自动生成空值参数检查,比如:
Lombok4

但是有了Lombok之后,事情就变得简单了,一个注解搞定:
Lombok5

@Builder

在没有用Lombok之前,我们假如想new一个对象,我们往往会这么做

(以上面的 Course类为例):
Lombok6

引进Lombok之后,我们只需要在 Course类上用上 @Builder注解:
Lombok7

则 Course类对象的创建即可使用 链式调用 的方式一行代码完成:
Lombok8

lombok.config配置文件

当在一个类继承了另外一个类, 在该类上添加@Data注解会警告提示有问题, 解决该问题的办法如下:
Lombok9

需要在src/main/java目录下创建一个lombok.config配置文件, 内如如下:

config.stopbubbling=true
lombok.equalsandhashcode.callsuper=CALL

Lombok10

再次查看继承的子类上面的@Data注解就没有警告提示了
Lombok11

上一篇:
Linux
下一篇:
Java编程过程中遇到的生词收集