Lombok使用
九、Lombok使用
1、简介
Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode() 和 equals() 这样的方法以及以往用来分类各种 accessor 和 mutator 的大量时间。
2、常用注解说明
-
POJO类常用注解:
- @Getter/@Setter: 作用类上,生成所有成员变量的getter/setter方法;作用于成员变量上,生成该成员变量的getter/setter方法。可以设定访问权限及是否懒加载等。
- @ToString:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段。
- @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode
- @NonNull:主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。
- @NoArgsConstructor:生成无参构造器;
- @RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器;
- @AllArgsConstructor:生成全参构造器
- @Data:作用于类上,是以\ ** 解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
- @Builder:作用于类上,将类转变为建造者模式
- @Log:作用于类上,生成日志变量。针对不同的日志实现产品,有不同的注解:
-
其他重要注解
- @Cleanup:自动关闭资源,针对实现了java.io.Closeable接口的对象有效,如:典型的IO流对象
- @SneakyThrows:可以对受检异常进行捕捉并抛出
- @Synchronized:作用于方法级别,可以替换synchronize关键字或lock锁,用处不大.
3、优缺点
-
优点:
1.能通力注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率;
2.让代码变得简洁,不用过多的去关注相应的方法;
3.属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等缺点; -
缺点
1.不支持多种参数构造器的重载十
2.虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度
4、使用步骤
-
安装lombok插件
- 直接在setting——》Plugins——》搜索安装
- 在官网下载:https://plugins.jetbrains.com/plugin/6317-lombok/versions导入
-
导入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
@Data
@AllArgsConstructor
@ToString
public class User {
private int id;
private String name;
private String password;
}