idea lombok简介及报红、报错解决办法

idea lombok

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报错解决办法:

1.use compiler 选择javac 2.勾选enable annotation processing 3.安装后需重启idea,使插件生效 4.maven版本与idea lombok 版本不一致 4. idea2018版本 IntelliJ IDEA 2018.1.5pluginsandroidlib emplatesgradlewrappergradlewrapper idea安装目录下 gradle-wrapper.properties文件增加一行 ideaVersion=2018.1 重启idea后手动安装lombok插件再次重启

经验分享 程序员 微信小程序 职场和发展