Lombok常用注解

10/29/2023 javaLombok

Lombok是一个通过注解减少Java代码样板的工具库,可以简化Java开发人员的开发工作。下面是Lombok提供的各种注解及其功能:

  1. @FieldNameConstants:自动生成常量字段名称的类。

  2. @ToString:自动生成toString()方法。

  3. @EqualsAndHashCode:自动生成equals()和hashCode()方法。

  4. @AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor:生成构造函数。

  5. @Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog, @Flogger, @CustomLog:生成日志记录器。

  6. @Data:生成getter、setter、equals()、hashCode()和toString()方法。

  7. @Builder:生成builder模式的代码。

  8. @SuperBuilder:在@Builder的基础上,支持父类属性的builder模式。

  9. @Singular:生成针对集合类型(List、Set等)添加单个元素的方法 @Builder注解和@Singular注解来自动生成代码。@Singular注解被用于List hobby字段,它会为该字段生成添加单个元素的方法,即hobby(String hobby)。因此,在创建Person对象时,我们可以通过多次调用该方法来添加多个兴趣爱好

  10. @Delegate:生成委托方法。

  11. @Value:生成不可变的JavaBean。

  12. @Accessors:配置链式调用的方式,例如setA(...).setB(...)。

  13. @Wither:生成不可变的JavaBean,并且允许修改一个或多个属性,返回新的对象。

  14. @With:与@Wither类似,但只允许指定要修改的属性。

  15. @SneakyThrows:把受检异常转换成非受检异常。

  16. @StandardException:生成标准异常类。

  17. @val:定义局部变量,自动推断类型。

  18. @var:定义局部变量,自动推断类型。

  19. experimental @var:定义实验性的局部变量,自动推断类型。

  20. @UtilityClass:生成静态工具类。

  21. Lombok config system:允许用户配置Lombok进行代码生成的方式,包括开启或关闭注解的功能、设置默认值等。

  22. @Getter and @Setter get,set方法生成

  23. @Cleanup 该注解用于关闭资源对象,免除了try-catch-finnally冗长的逻辑

通过使用Lombok提供的这些注解,Java开发人员可以减少代码的冗余和样板代码,从而提高代码质量和开发效率。