Lombok简介
- 1、lombok简介
- 2、springboot整合lombok
1、lombok简介
Lombok是一个第三方的Java工具库,会自动插入编辑器和构建工具。Lombok提供了一组非常有用的注解,用来消除Java类中的大量样板代码,比如setter和getter方法、构造方法等。只需要在原来的JavaBean上使用@Data注解就可以替换数十行或数百行代码,从而使代码变得更加清爽、简捷且易于维护。
示例:
//使用@Data注解可以省略getter和setter方法,构造方法等
@Data
public class User {
private Integer id;
private String name;
private String password;
}
在上述代码中并没有写getter和setter等方法,但查看user类的结构中具有这些并未显示写出的方法,如下所示:

Lombok工具解决的是项目里JavaBean中大量的getter、setter、equals()、toString()等可能不会用到但是仍然需要在类中定义的方法,在使用Lombok后,将由它来自动实现部分代码的生成工作,可以极大地减少开发者编写代码的工作量,精简和优化这些JavaBean。
2、springboot整合lombok
若使用idea则可在创建项目是选择lombok依赖,若不选择也没关系,直接在pom文件中添加如下依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
之后使用lombok则只需要在实体类前加入@Data注解,如下所示:

如上所示就不需要在写getter和setter等方法。
注意:@Data注解是一个比较“霸道”的注解,不仅能够生成JavaBean中所有属性的getter和setter方法,还自动提供equals、canEqual、hashCode、toString方法。
如果不想生成这么多内容,可以使用其他的注解来实现开发时的需求。
@Setter:注解在属性上,为属性提供setting方法。@Getter:注解在属性上,为属性提供getting方法。@Log4j:注解在类上,为类提供一个属性名为log的log4j日志对象。@NoArgsConstructor:注解在类上,为类提供一个无参的构造方法。@AllArgsConstructor:注解在类上,为类提供一个全参的构造方法。@Builder:为被注解的类加一个构造者模式。@Synchronized:加同步锁。@NonNull:给参数加上这个注解,当参数为null时,会抛出空指针异常。@Value:注解和@Data注解类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。



















