Lombok常用注解
Lombok是一个通过注解减少Java代码样板的工具库,可以简化Java开发人员的开发工作。下面是Lombok提供的各种注解及其功能:
@FieldNameConstants:自动生成常量字段名称的类。
@ToString:自动生成toString()方法。
@EqualsAndHashCode:自动生成equals()和hashCode()方法。
@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor:生成构造函数。
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog, @Flogger, @CustomLog:生成日志记录器。
@Data:生成getter、setter、equals()、hashCode()和toString()方法。
@Builder:生成builder模式的代码。
@SuperBuilder:在@Builder的基础上,支持父类属性的builder模式。
@Singular:生成针对集合类型(List、Set等)添加单个元素的方法 @Builder注解和@Singular注解来自动生成代码。@Singular注解被用于List
hobby字段,它会为该字段生成添加单个元素的方法,即hobby(String hobby)。因此,在创建Person对象时,我们可以通过多次调用该方法来添加多个兴趣爱好 @Delegate:生成委托方法。
@Value:生成不可变的JavaBean。
@Accessors:配置链式调用的方式,例如setA(...).setB(...)。
@Wither:生成不可变的JavaBean,并且允许修改一个或多个属性,返回新的对象。
@With:与@Wither类似,但只允许指定要修改的属性。
@SneakyThrows:把受检异常转换成非受检异常。
@StandardException:生成标准异常类。
@val:定义局部变量,自动推断类型。
@var:定义局部变量,自动推断类型。
experimental @var:定义实验性的局部变量,自动推断类型。
@UtilityClass:生成静态工具类。
Lombok config system:允许用户配置Lombok进行代码生成的方式,包括开启或关闭注解的功能、设置默认值等。
@Getter and @Setter get,set方法生成
@Cleanup 该注解用于关闭资源对象,免除了try-catch-finnally冗长的逻辑
通过使用Lombok提供的这些注解,Java开发人员可以减少代码的冗余和样板代码,从而提高代码质量和开发效率。