SpringBoot - Step By Step
SpringBoot - Lombok 介绍
文章目录
前言
以前的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。一、修改 pom.xml
,引入 SpringBoot 对 Lombok 支持
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
二、添加 IDEA 对 Lombok 的支持
- File -> settings -> Plugins
- 安装插件
三、Lombok 常用注解说明
1. @Data
作用于类上,是以下注解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
2. @Getter / @Setter
作用类上,生成所有成员变量的getter/setter方法;
作用成员变量上,生成该成员变量的getter/setter方法。可以设定访问权限及是否懒加载等。
3.@ToString
作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段
4. @AllArgsConstructor
作用于类,添加一个构造函数,该构造函数含有所有已声明字段属性参数
5. @NoArgsConstructor
作用于类,添加一个无参构造函数
6. @EqualsAndHashCod
作用于类,覆盖默认的equals和hashCode
7. @NonNull
主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。
8. @RequiredArgsConstructor
生成包含final和@NonNull注解的成员变量的构造器;
9. @Builder
作用于类上,将类转变为建造者模式
10. @Log
作用于类上,生成日志变量。针对不同的日志实现产品,有不同的注解:
四、其他重要注解
1. @Cleanup
自动关闭资源,针对实现了java.io.Closeable接口的对象有效,如:典型的IO流对象