目录
一、Lombok简介
Lombok是一个Java库,通过注解它会自动插入您的编辑器和构建工具中。永远不要再编写另一个getter或equals方法,带有一个注释的类将具有功能全面的生成器,自动执行日志记录变量等等。提高开发者效率,减少代码编写量,更加简洁。
二、Lombok集成IDEA
打开 IDEA工具Plugins选项,按如下图搜索Lombok安装插件,安装成功并重启IDEA工具;
三、Lombok注解使用
官网jar包下载地址:https://projectlombok.org/download
官方API: https://projectlombok.org/features/allMaven项目引入依赖:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> </dependency>
Lombok注解使用:
@Setter和@Getter 应用于类或全局变量,final修饰的变量仅生成get方法,不生成set方法。static修饰的变量不生成set和get方法;
lombok方式:
import lombok.*; import java.io.Serializable; @Setter @Getter public class Demo implements Serializable { private String name; private String age; private final String id = "0"; private static int index; }
lombok方式反编译:
import java.io.Serializable; public class Demo implements Serializable { private String name; private String age; private final String id = "0"; private static int index; public Demo() { } public void setName(final String name) { this.name = name; } public void setAge(final String age) { this.age = age; } public String getName() { return this.name; } public String getAge() { return this.age; } public String getId() { this.getClass(); return "0"; } }
@NonNull 校验方法内该变量非空,如果为空,则抛出NPE(NullPointerException);
lombok方式:
import lombok.*; import java.io.Serializable; @AllArgsConstructor public class Demo extends Super implements Serializable { @NonNull private String name; private String age; public void test(@NonNull String val){ System.out.println(val); } }
lombok方式反编译:
import java.beans.ConstructorProperties; import java.io.Serializable; import lombok.NonNull; public class Demo extends Super implements Serializable { @NonNull private String name; private String age; public void test(@NonNull String