如何使用Lombok来优雅的编码

  • 时间:
  • 浏览:1

Lombok 是并不是 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现一点 目的。

它们有的是一有有有两个参数还需用设置

一点 注解用在 上,还需用生成所有参数的 toString 辦法 ,都后能 生成默认的构造辦法 。

注解在 属性 上;为单个属性提供 set 辦法 ; 注解在 上,为该类所有的属性提供 set 辦法 , 都提供默认构造辦法 。

mark

2、http://kriszhang.com/lombok/

@Slf4j

mark

注解在 属性 上,会自动产生一有有有两个关于此参数的非空检查,时候 参数为空,则抛出一有有有两个空指针异常,也会一有有有两个多默认的无参构造辦法 。

在输入框输入”lombok”,得到搜索结果,点击安装,怎么让安装提示重启 IDEA,安装成功;

@EqualsAndHashCode

一点 注解用在 变量 前面,还需用保证此变量代表的资源会被自动关闭,默认是调用资源的 close() 辦法 ,时候 该资源有其它关闭辦法 ,可使用 @Cleanup(“methodName”) 来指定要调用的辦法 ,也会生成默认的构造辦法

一点 注解用在 辦法 上,还需用将辦法 中的代码用 try-catch 一段话包裹单起来,捕获异常并在 catch 中用 Lombok.sneakyThrow(e) 把异常抛出,还需用使用 @SneakyThrows(Exception.class) 的形式指定抛出哪种异常,也会生成默认的构造辦法 。

3、http://www.54tianzhisheng.cn/2018/01/09/lombok/

注解在 上;为类提供一有有有两个 属性名为 log 的日志对象,提供默认构造辦法 。

一点 注解用在 类辦法 时候 实例辦法 上,效果和 synchronized 关键字相同,区别在于锁对象不同,对于类辦法 和实例辦法 ,synchronized 关键字的锁对象分别是类的 class 对象和 this 对象,而 @Synchronized 的锁对象分别是 私有静态 final 对象 lock 和 私有 final 对象 lock,当然,也还需用自己指定锁对象,此外也提供默认的构造辦法 。

@SneakyThrows

image.png

mark

一点 注解用在 上,会生成含所有参数的构造辦法 ,get 辦法 ,此外还提供了equals、hashCode、toString 辦法 。

时候 设置了它,将原本的构造辦法 的访问修饰符时候 变成 私有的,而外再加一有有有两个静态构造辦法 ,参数相同,名字是设置的字符串的名字,访问修饰符为公有的。

mark

本文主要站在巨人的身前,文章内容来源一下三篇文章。本文主要提取了三篇文章中的优点整合而成。

@Getter

注解在 属性 上;为单个属性提供 get 辦法 ; 注解在 上,为该类所有的属性提供 get 辦法 ,都提供默认构造辦法 。

@Data

2、AnyAnnotation[] onConstructor() default {};

在构造辦法 上再加注解。使用辦法 @RequiredArgsConstructor(onConstructor=@__({@AnnotationsGoHere}))}

注解在 上;为类提供一有有有两个无参的构造辦法 。

@RequiredArgsConstructor

@Setter

mark

mark

mark

mark

@Synchronized

mark

@NoArgsConstructor

文章参考:

mark

注解在 上;为类提供一有有有两个全参的构造辦法 ,加了一点 注解后,类中不提供默认构造辦法 了。

@ToString

在自己的项目里再加 lombok 的编译支持,在 pom 文件上边再加 dependency

@AllArgsConstructor

@Value

mark

打开 IDEA 的 Settings 面板,并选取 Plugins 选项,怎么让点击 “Browse repositories”

1、String staticName() default "";

注解在 上;提供类所有属性的 get 和 set 辦法 ,此外还提供了equals、canEqual、hashCode、toString 辦法 。

1、 https://blog.wuwii.com/springboot-15.html

@Cleanup

mark

mark

@NonNull

3、AccessLevel access() default lombok.AccessLevel.PUBLIC;

构造函数访问修饰符;

mark

例如让让人们 在 Spring 项目中需用注入多个值,写太多 个 @Autowired 很麻烦,就还需用使用一点 辦法 :

注解在 上, 还需用生成 equals、canEqual、hashCode 辦法 。