lombok

Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。

lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。
public class Mountain{
    private String name;
    private double longitude;
    private String country;
}
要使用这个对象,必须还要写一些getter和setter方法,可能还要写一个构造器、equals方法、或者hash方法.这些方法很冗长而且没有技术含量,我们叫它样板式代码.
lombok的主要作用是通过一些注解,消除样板式代码,像这样:
@Data
public class Mountain{
    private String name;
    private double longitude;
    private String country;
}

然后可以看到这个类自动生成了这些方法
如果觉得@Data这个注解有点简单粗暴的话,Lombok提供一些更精细的注解,比如@Getter,@Setter,(这两个是field注解),@ToString,@AllArgsConstructor(这两个是类注解).
Intellij idea开发的话需要安装Lombok plugin,同时设置 Setting -> Compiler -> Annotation Processors -> Enable annotation processing勾选。
lombok使用过程中主要是靠注解起作用的

@NonNull: 可以帮助我们避免空指针。

@Cleanup: 自动帮我们调用close()方法。

@Getter / @Setter: 自动生成Getter/Setter方法

@NoArgsConstructor: 自动生成无参数构造函数。

@AllArgsConstructor: 自动生成全参数构造函数。

@Data: 自动为所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor!

 

官方文档:https://projectlombok.org/features/all

 
 
 

参考链接:https://www.zhihu.com/question/42348457/answer/110177314
https://www.zhihu.com/question/42348457/answer/692555523
来源:知乎
唯有热爱方能抵御岁月漫长。
原文地址:https://www.cnblogs.com/syq816/p/14422573.html