目录
1. 简介
2.1 IntellJ IDEA 安装 Lombok
3. 使用
3.1 具体使用
3.2 常用注解
1. 简介
Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 代码的冗长,尤其是对于简单的 Java 对象(POJO),通过注解实现这一目的。
2.1 IntellJ IDEA 安装 Lombok
-
依次进入 File -> Settings ->Plugins
,然后搜索 Lombok 安装即可;
-
安装后提示重启 IDE 即可; -
在需要使用的项目中加入 Lombok 编译支持,pom 文件中加入以下依赖;
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
3. 使用
3.1 具体使用
在需要的实体类中引入相关注解即可,如下图;
3.2 常用注解
@Data
注解在 类 上:给类的所有属性提供 get
和 set
方法,此外还有 equals、canEqual、hashCode、toString
方法以及 默认参数为空的构造方法;
@Setter
注解在 类 上:为该类所有属性均提供 set
方法,同时提供 默认构造方法;
注解在 属性 上:为该属性提供 set
方法,同时提供 默认构造方法;
@Getter
注解在 类 上:为该类所有属性均提供 get
方法,同时提供 默认构造方法;
注解在 属性 上:为该属性提供 get
方法,同时提供 默认构造方法;
@ToString
注解在 类 上:生成所有参数的 toString()
方法,同时提供 默认构造方法;
@Value
注解在 类 上:生成 get
方法,以及 equals、hashCode、toString
方法,同时提供 含所有参数的构造方法;
@AllArgsConstructor
注解在 类 上:为类提供一个 全参构造方法,但此时不再提供默认构造方法;
@NoArgsConstructor
注解在 类 上:为类提供一个 无参构造方法;
@RequiredArgsConstructor
注解在 类 上:使用类中所有带 @NonNull
注解的或带有 final
修饰的成员变量生成对应构造方法;
@NonNull
注解在 属性 上,自动生成一个关于该参数的非空检查,若参数为 null
,则抛出一个空指针异常,同时提供 默认构造方法;
@EqualsAndHashCode
注解在 类 上,生成 equals、canEquals、hasnCode
方法;
@Cleanup
注解在 变量 前,保证该变量代表的资源使用后自动关闭,默认调用资源的 close()
方法,若该资源有其它关闭方法,可用 @Cleanup("方法名")
来指定要调用的方法,同时提供 默认构造方法;
@Synchronized
注解在 类方法 或 实例方法:效果与 synchronized
关键字相同,区别在于锁对象不同,对于类方法和实例方法,synchronized
关键字的锁对象分别是 类的 class
对象和 this
对象,而 @Synchronized
的锁对象分别是 私有静态 final
对象 lock
和 私有 final
对象 lock
,也可以自己指定锁对象,同时提供默认构造方法;
@SneakyThrows
注解在 方法 上:将方法中的代码用 try-catch
语句包裹,捕获异常并在 catch
中用 Lombok.sneakyThrow(e)
将异常抛出,还可以用 @SneakyThrows(Exception.class)
的形式指定抛出异常类型,同时提供 默认构造方法;
@Log4j
注解在 类 上:为类提供一个属性名为 log
的 log4j
日志对象,同时提供 默认构造方法;
点击查看往期精彩内容
本文分享自微信公众号 - 村雨遥(cunyu1943)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。