J2SE-Lombok

序言

Lombok在项目源码编译阶段识别lombok注解,并生成额外的代码,即编译后的二进制文件中包含了Lombok生成的额外代码,这样程序运行时执行的二进制文件中包含了Lombok生成的代码。

Lombok在Idea中使用需要安装Lombok插件,特定的项目中需要引入Lombok依赖

Idea中安装Lombok插件后,Refactor->Delombok 可以对指定文件使用,查看Lombok注解生成的代码

Lombok常规用法请参考文档

常用注解

@Data, 等同于这五个注解生成的内容,@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode

@Setter /@Getter,为非静态属性生成get、set方法

@ToString,生成ToString方法

@EqualsAndHashCode,生成hashCode和equals方法

@RequiredArgsConstructor, 生成包含final修饰的属性、@NonNull修饰的属性的构造,因为final修改的属性必须被初始化,@NonNull修改的属性应该被初始化;@RequiredArgsConstructor(onConstructor =@_(@Autowired))用户在Controller层或者Service层注入属性

@NoArgsConstructor,生成无参构造

@AllArgsConstructor,生成全参数构造

@cleanup,关闭资源,用在局部常量前面

@SneakerThrow,偷偷处理异常,生成try-catch代码,并且抛出一个运行时异常;所以一般认定不会发生的异常可以通过此注解快速处理,例如处理不支持的字符集异常,如果确定不会发生异常,则可以使用此方式快速处理异常

@Accesors 存取器,配置get、set方法使用,例如(chain=true), 则set方法返回对象自身,Java Bean规范中set方法返回void,所以使用此注解生成的代码可能因为不符合Java Bean规范导致Java Bean的一些工具类不能使用,例如:PropertyDescriptor获取不到属性的写入方法(set方法)

posted @ 2021-06-29 17:19  规划中~~~  阅读(63)  评论(0)    收藏  举报