今天接到一个项目,要求调试。我的idea是没有安装Lombok插件的。所以在看的时候编译器会把没有创建的对象报错提示。
那么就先看看lombok的安装:
lombok安装:
我的idea是2020.1版本的,但是我无法在idea的插件市场找到该插件。所以找到了jar包,我安装的Lombok插件版本为
lombok-plugin-0.30-EAP.jar
。直接将该文件拖入IDEA即可。等待提示安装,确认,成功,重启IDEA。至此,安装完毕。
插件地址:https://download.csdn.net/download/qq_40366738/12738331
依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version><!--版本号自己选一个就行-->
</dependency>
Lombok注解含义
-
@Data
@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
-
@Getter/@Setter
注解在方法或属性上,为相应的属性自动生成Getter/Setter方法。注解于方法上时,为所有属性提供Getter/Setter方法。
-
@ToString
类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。
通过将includeFieldNames参数设为true,就能明确的输出toString()属性。
-
@NonNull
该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。
-
@Cleanup
该注解能帮助我们自动调用close()方法,很大的简化了代码。
-
@EqualsAndHashCode
默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。
-
@NoArgsConstructor
无参构造器
-
@RequiredArgsConstructor
部分参数构造器
-
@AllArgsConstructor
全参构造器
Lombok没法实现多种参数构造器的重载。
-
@Slf4j
可以不用每次都写private final Logger logger = LoggerFactory.getLogger(当前类名.class);
优缺点:
- 简化代码,提高效率,使实体类看起来简洁
- 不支持多种参数构造器重载、降低代码可读性、团队开发时要求成员都要下载该插件(需要考虑团队成员意见)