Lombok基础使用介绍

匆匆过客 提交于 2020-12-23 00:42:25

Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。

官网地址:https://projectlombok.org/

 

一、安装插件

这里以Intellij IDE(Mac版)为例,依次打开 Preferences -> Plugins -> 搜索Lombok插件安装。

我这里已经安装了,所以是update。

 

二、添加依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.6</version>
</dependency>

 

三、Lombok内容概览

  • var 所声明的变量是非 final 的。
  • val 所声明的变量是 final 的。
  • @Getter 注解在属性(类)上,为属性(所有非静态成员变量)提供 get() 方法
  • @Setter 注解在属性(类)上,为属性(所有非静态成员变量)提供 set() 方法
  • @ToString 该注解的作用是为类自动生成 toString() 方法
  • @EqualsAndHashCode 为对象字段自动生成 hashCode() 和 equals() 实现
  • @AllArgsConstructor、@RequiredArgsConstructor、@NoArgsConstructor 顾名思义,为类自动生成对应参数的构造器
  • @Data 注解在类上,自动为所有字段添加 @ToString、@EqualsAndHashCode、@Getter。为非 final 字段添加 @Setter 和 @RequiredArgsConstructor。本质上相当于几个注解的综合效果
  • @Value 注解和 @Data 类似,区别在于它会把所有成员变量默认定义为 private final 修饰,并且不会生成 set() 方法
  • @Log、@Log4j、@Log4j2、@Slf4j、@XSlf4j、@CommonsLog、@JBossLog 注解在类上,自动为类添加对应的日志支持
  • @NonNull 注解在方法参数上,用于自动生成空值参数检查,自动帮助我们避免空指针
  • @Cleanup 自动帮我们调用 close() 方法,作用在局部变量上,在作用域结束时会自动调用 close() 方法释放资源,可以关闭流
  • @Builder 注解在类上,被注解的类加个构造者模式
  • @Synchronized 注解在类上,加个同步锁
  • @SneakyThrows 等同于 try/catch 捕获异常
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!