Lombok常用注解
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
- @ToString 用在类上,可自动写ToString方法
- @NonNull 用在方法参数前,会自动判断参数是否为null,为nulll则抛出NullPointerException
- @Cleanup 自动资源管理器,用在局部变量之前,在当前变量范围内即将执行完毕退出前会清理资源,生成try-finally的代码关闭流
- @Getter 用在属性上,生成相应属性的get()方法
- @Setter 用在属性上,生成相应属性的set()方法
- @EqualsAndHashCode 用在类上,默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode
- @NoArgsConstructor 用在类上,可以动态生成无参构造器方法
- @RequiredArgsConstructor 用在类上,生成private构造方法,使用staticName选项生成指定名称的static方法,与@NonNull联用,指定那些属性是本方法参数
- @AllArgsConstructor 修饰JavaBean,可以动态生成全参构造器方法
- @Data 用在类上,集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性。
- @Value 用在类上,和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法
- @Synchronized 修饰方法,自动生成同步代码块锁
- @Cleanup 修饰流变量,自动调用close()方法
- @Slf4j 用在类上,当项目中使用Slf4j日志架构的时候自动创建log日志实例
- @Log4j2 修饰JavaBean,当项目中使用Log4j日志架构的时候自动创建日志实例,不需要配置文件
- @Accessors(chain=true) 修饰JavaBean,链式风格,在调用set方时,返回当前实例
- @Builder 修饰JavaBean,构建者模式,不可与@NoArgsConstructor同时使用
- @Delegate 修饰JavaBean,代理模式