一、什么是lombok?

Lombok 是能自动接通编辑器和构建工具的一个Java库,对于简单的Java对象,通过注解的形式例如@Setter @Getter,可以替代代码中的getter和setter方法。Lombok中用到了注解,但是它并没有用到反射,而是在代码编译时期动态将注解替换为具体的代码。所以JVM实际运行的代码,和我们手动编写的包含了各种工具方法的类相同。

二、lombok注解

  • val: final 像动态语言一样,声明一个fianl的变量。
  • var: 同JDK10
  • @Data:注解在类上,将类提供的所有属性都添加get、set方法,并添加、equals、canEquals、hashCode、toString方法
  • @Setter:注解在类上,为所有属性添加set方法、注解在属性上为该属性提供set方法
  • @Getter:注解在类上,为所有的属性添加get方法、注解在属性上为该属性提供get方法
  • @NotNull:在参数中使用时,如果调用时传了null值,就会抛出空指针异常
  • @Synchronized 用于方法,可以锁定指定的对象,如果不指定,则默认创建一个对象锁定
  • @Log作用于类,创建一个log属性
  • @Builder:使用builder模式创建对象
  • @NoArgsConstructor:创建一个无参构造函数
  • @AllArgsConstructor:创建一个全参构造函数
  • @ToString:创建一个toString方法
  • @Accessors(chain = true)使用链式设置属性,set方法返回的是this对象。
  • @RequiredArgsConstructor:创建对象, 例: 在class上添加 @RequiredArgsConstructor(staticName = “of”)会创建生成一个静态方法
  • @UtilityClass:工具类
  • @ExtensionMethod:设置父类
  • @FieldDefaults:设置属性的使用范围,如private、public等,也可以设置属性是否被final修饰。
  • @Cleanup: 关闭流、连接点。
  • @EqualsAndHashCode:重写equals和hashcode方法。
  • @toString:创建toString方法。
  • @Cleanup: 用于流等可以不需要关闭使用流对象.

三、lombok报错解决办法(类提示你需要set和get方法)

1.use compiler 选择javac


2.勾选enable annotation processing



3.安装后需重启idea,使插件生效

4.Maven和Lombok的版本不一致

最后修改于 2020-08-27 13:55:13
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇