在项目中初次接触到Lombok,看到很多注解都是Lombok中的,可以说即强大又省事,顿时就很好奇,遂有了这篇关于Lombok的文章。
一、什么是Lombok?
首先贴上Lombok的官网:https://projectlombok.org/。
Lombok项目是一个Java库,它会自动插入您的编辑器和构建工具中,从而使您的Java更加生动有趣。永远不要再写另一个getter或equals方法,带有一个注释的您的类有一个功能全面的生成器,自动化您的日志记录变量等等。
二、为什么要使用Lombok?
(1)简化冗余的JavaBean代码;
(2)大大提高JavaBean中方法的执行效率;
三、如何使用LomBok?
官网中install模块我们可以看到各种安装教程,这里只提供maven形式的。
在pom.xml文件中添加如下依赖即可:
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
</dependencies>
四、Lombok的原理
简介如下:
项目的源代码文件,在经过编译处理以后,lombok会使用自己的抽象语法树去进行注解的匹配,如果在项目中的某一个类中使用了lombok中的注解,那么注解编译器就会自动去匹配项目中的注解对应到在lombok语法树中的注解文件,并经过自动编译匹配来生成对应类中的getter或者setter方法,达到简化代码的目的。
五、Lombok的注解
(1)@Data注解:
在JavaBean或类JavaBean中使用,这个注解包含范围最广,它包含getter、setter、NoArgsConstructor注解,即当使用当前注解时,会自动生成包含的所有方法;
(2)@getter注解:
在JavaBean或类JavaBean中使用,使用此注解会生成对应的getter方法;
(3)@setter注解:
在JavaBean或类JavaBean中使用,使用此注解会生成对应的setter方法;
(4)@NoArgsConstructor注解:
在JavaBean或类JavaBean中使用,使用此注解会生成对应的无参构造方法;
(5)@AllArgsConstructor注解:
在JavaBean或类JavaBean中使用,使用此注解会生成对应的有参构造方法;
(6)@ToString注解:
在JavaBean或类JavaBean中使用,使用此注解会自动重写对应的toStirng方法;
(7)@EqualsAndHashCode注解:
在JavaBean或类JavaBean中使用,使用此注解会自动重写对应的equals方法和hashCode方法;
(8)@Slf4j:
在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;
(9)@Log4j:
在需要打印日志的类中使用,当项目中使用了log4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;