LOMBOK是一款可以在编译期在类中自动生成某些代码的工具,通常用于自动生成:
Setters & Getters
hashCode() and equals()
toString()
无参数构造方法
全参数构造方法
在使用时,需要添加依赖项:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
在POJO类的声明上,添加@Data注解,此注解可以帮助生成所有属性对应的Setters & Getters、规范的hashCode()和equals()、toString(),并且,要求此类的父类中存在无参数构造方法。
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class Album implements Serializable {
private Long id;
private String name;
private String description;
private Integer sort;
private LocalDateTime gmtCreate;
private LocalDateTime gmtModified;
}
注意:Lombok是在**编译期(将Java源代码文件.java编译成目标文件.class)**添加各方法,所以,在IntelliJ
IDEA或其它开发工具中,默认情况下,直接调用以上各属性对应的Setter或Getter方法,在开发工具将无法提示这些方法,并且,已经写出来的调用这些方法的代码会报错,为了解决此问题,需要在开发工具中安装Lombok插件。
另外,Lombok还提供了以下注解:
@Data
@Setter
@Getter
@EqualsAndHashCode
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Accessors
配置为@Accessors(chain = true)时,将支持链式调用方法