lombok
https://projectlombok.org/order-license-info
作用
简单的几个注解,就可以干掉一大片模板代码。
例如:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等
原理
利用 jdk编译时 注解解析机制,可以对编译器做一些增强
Lombok在编译期 将带Lombok注解的Java文件 正确编译为完整的Class文件
。
常用注释
注解 | 注解于 | 作用 |
---|---|---|
@NonNull | 成员变量和参数 | 不能为空,否则抛出空指针异常 |
@Getter | 类 | 生成类所有成员变量的getter |
@Setter | 类 | 生成类所有成员变量的setter |
@ToString | 类 | 覆盖默认的toString()方法 |
@EqualsAndHashCode | 类 | 覆盖默认的equals和hashCode |
@NoArgsConstructor | 类 | 生成无参构造器 |
@RequiredArgsConstructor | 类 | 生成包含final和@NonNull注解的成员变量的构造器 |
@AllArgsConstructor | 类 | 生成全参构造器 |
@Data | 类 | 注解集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor |
@Accessors | 类 | @Accessors(chain = true) setter方法返回当前对象 @Accessors(fluent = true) getter和setter方法名 = 基础属性名 @Accessors(prefix = “p”) getter和setter方法名 = 截去前缀p的基础属性名 |
@Log | 类 | 生成日志变量 |
@Cleanup | I/O流对象 | 自动调用对象的close()方法 |