在项目开发过程中,实体类需要通过IDEA自动生成get和set方法,非常烦琐,而且这个工作没有什么技术含量。使用Lombok可以代替这些方法的生成,只需要一个简单的注解就能完成之前烦琐的创建过程,从而提高开发者的开发效率。
下面介绍Lombok的原理和使用。
认识Lombok插件
Lombok是一个Java插件,它通过注解来简化一些臃肿的Java代码,尤其适用于Java实体类对象。
例如,新建一个实体类,然后添加几个属性,通常使用IDEA自动生成属性的get和set方法与构造函数,Lombok不再手动生成这些方法,它会在源码编译时自动生成,项目开发时,只需要添加相应的注解即可。
Lombok插件是在编译期起作用的,它在编译时生效的具体流程如下:
(1)Java编译器对源代码进行分析,生成一棵抽象语法树(AST)。
(2)运行过程中调用实现了JSR 269 API的Lombok程序。
(3)Lombok对抽象语法树进行处理,找到标记有@Data注解的类所对应的语法树,然后修改该语法树,增加get和set方法定义的相应树节点。
(4)编译器使用修改后的抽象语法树生成字节码文件,即在编译后的cl