在我们日常的开发中,Lombok插件的使用频率越来越高。但是经常会有一些新人小伙伴听到Lombok的时候,还是一脸懵逼。
那么今天我们就来系统的说一下,Lombok到底是什么?
Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。
我们通过Lombok官网的一个例子来说明:
public class Mountain{
private String name;
private double latitude,longitude;
private String country;
}
要使用Mountain这个对象,我们必须还要写一大堆getter和setter方法,可能还要写一个构造器、equals方法、或者hash方法.这些方法很冗长而且没有技术含量,我们叫它样板代码.
Lombok的主要作用是通过一些注解,消除样板代码,像这样:
@Data
public class Mountain{
private String name;
private double latitude,longitude;
private String country;
}
然后我们可以看到这个类自动生成了这些方法:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yMmljNzMWY1YjMiFjY4MTNkBDNwYmZjlTO4MmMyMmZy8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
非常好用的同时不引入新复杂度,低碳环保,值得推荐。
Lombok既是一个IDE插件,也是一个项目要依赖的jar包。
Lombok是依赖jar包的原因是因为编译时要用它的注解,是插件的原因是他要在编译器编译时通过操作AST(抽象语法树)改变字节码生成.也就是说他可以改变java语法。 他不像spring的依赖注入或者hibernate的orm一样是运行时的特性,而是编译时的特性。