Lombok是一个在Java开发过程中为了简化冗余和样板式代码而出现的插件。
开始我们举一个例子,我们在写一个Do类的时候,经常需要先写属性,然后手写或者自动生成get和set方法,然后重写ToString方法,然后等等操作,最终就是 图-1 的样子。日常开发中需要写的Do类一定会很多,如果我们把每一个类都写成图-1的样式,会产生太多的样板式代码,而Lombok出现就是为了解决代码书写的冗余问题。
如图-2是我们使用了Lombok的@Data注解之后的代码样式,我们可以看出来第二个图中我们省去了Get,Set 还有ToString方法等等的实现代码快,全部收敛成一个@Data注解,这样是不是代码就整洁了很多呢?
下面我们简单说一下Lombok的安装,我们拿IDEA为例,Mvn环境下安装Lombok。
首先说明一下Lombok是需要两部分来支持,1是jar包支持,2是插件支持。依赖Jar包是因为编译时用到的注解是在这个Jar中,需要插件支持是因为它在编译器编译时通过操作AST(抽象语法树)改变字节码生成.也就是说他可以改变Java语法
打开IDEA的Plugin,输入“lombok”,找到图中的那一栏,点击“Install”。(PS:我这里之前安装过,所以按钮是Update,而不是Install),如图-4在Mvn的Pom文件中引入Lombok的依赖,这样我们的安装就完成了,可以继续使用了。
另外,Lombok还提供了其他的注解和一些简化冗余代码的解决方案
例如:val 关键字可以让我们在定义一个变量时候不需要提前指定它的类型,使用的方法如下图:
@NonNull 注解可以修饰类的属性,当该属性被赋NULL值的时候,系统会抛出一个空指针的异常,内部的实现代码是:if (param == null) throw new NullPointerException("param"); 如下是Lombok官方给出的代码示例:
除此之外,Lombok的官网已经提供了很多提高效率的开发方式,具体请查看:https://www.projectlombok.org/