Project Lombok 是一个 java 库,它会自动插入您的编辑器和构建工具,为您的 Java 增添趣味。
再也不用编写另一个 getter 或 equals 方法了,只需一个注释,您的类就拥有了一个功能齐全的构建器,自动化了您的日志记录变量等等。
原理:java源文件是不能运行的,需要JVM编译为字节码才可以,在JVM编译时,对java源文件进行分析生成语法树,而lombok注解添加后,会在编译这一步去修改语法树,所以项目打包并不需要携带lombok
工具:idea
环境:1.8+SpringBoot
pom.xml文件中引入
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>
@Data
作用位置:类
作用:生成get,set,toString方法等
示例: 定义注解前:
定义注解后:toString方法重写,生成get,set等方法
@Getter:生成get方法,这三种都作用在类上
@Setter:生成set方法
@ToString:重写toString方法
搭配使用的:
@AllArgsConstructor:生成所有参数的构造方法
@NoArgsConstructor:生成无参的构造方法
但是可以看到并不能生成任意搭配组合的构造方法,如果想要任意两种或者单一参数的构造方法需要另外配置。
@AllArgsConstructor @NoArgsConstructor二者需要搭配使用,如果只配置了@AllArgsConstructor,那么构造方法被重写,无参构造方法消失。
@Slf4j:日志打印功能
可以代替去实现日志打印功能
Logger logger=LoggerFactory.getLogger(this.getClass());
使用方法二:使用[{}]作为占位符,按照顺序设置可变参数,由于日志我们可以手动设置开关,比sout更为方便。