lombok的官网
官方网址 : https://projectlombok.org
lombok 稳定特性文档:https://projectlombok.org/features/
lombok 实验特性文档: https://projectlombok.org/features/experimental/
lombok是什么?
Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。说简单点,它是对Java语言的一个增强,相当于java的语法糖概念。这里不做太多的解释。阅读本文章需要有一定的实操经验,也完全使用过lombok插件。
lombok能做什么?
lombok 有哪些注解?
稳定特性:
var
用于定义变量、来自 import lombok.var;val
用于定义常量、来自 import lombok.val;@NonNull
⽤来指定某个⽅法⼊参不能为null 若为null 将抛出空指针异常 。 来自 import lombok.NonNull;@Cleanup
自动资源管理、默认调用close()方法。来自 import lombok.Cleanup;@Getter/@Setter
用来生成类的字段的setXX()、getXX()方法。来自 import lombok.Setter; import lombok.Getter;@ToString
用来生成类的toString()方法。来自 import lombok.ToString;@EqualsAndHashCode
用来生成类的equals()与hashCode()方法。来自 import lombok.EqualsAndHashCode;@NoArgsConstructor, @RequiredArgsConstructor @AllArgsConstructor
用于生成类的构造函数、无参构造、可选参构造、全参构造。来自 import lombok.NoArgsConstructor; import lombok.RequiredArgsConstructor;import lombok.AllArgsConstructor;@Data
是@ToString
@EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor 的合集表示。来自 import lombok.Data;@Value
用于将类变成final 。来自import lombok.Value;@Builder
用来生成对象的builder模式,并且可以为对象链式赋值。来自import lombok.Builder;@SneakyThrows
用于消除编译时异常、转化为运行时异常。来自import lombok.SneakyThrows;@With
用于为类全局字段变量生成以'withXX'的方法返回新的类对象。依赖@AllArgsConstructor;来自import lombok.With;@Getter(lazy=true)
用于懒加载的方式初始化变量,此字段必须为final。来自import lombok.Getter;@Log
@CommonsLog 、@Flogger、@JBossLog、@Log4j、@Log4j2、@Slf4j、@XSlf4j、@CustomLog 用于打印日志。来自 import lombok lombok.extern.*;
实验特性:
-