Java Lombok详解(亲测)

1、Lombok介绍

Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。比如使用@Data就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。

2、Lombok的使用

引入相应的maven包
<denpendency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>
Lombok的scope=provided,说明它只在编译阶段生效,不需要打入包中。事实正式如此,Lombok在编译期将带Lombok注解的Java文件正确编译为完整的Class文件。

添加IDEA工具对Lombok的支持
 点击File--->Settings--->Plugins--->Browse repositories,安装Lombok插件;

点击File--->Settings ,开启AnnocationProcessors;

开启该项是为了让Lombok注解在编译阶段起到作用。

 3、Lombok注解

@Getter/@Setter:作用类上,生成所有成员变量的getter/setter方法;作用在成员变量上,生成该成员变量的getter/setter方法。可以设定访问权限以及是否懒加载等。
@ToString:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段。
@EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode。
@NonNull:主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。
@NoArgsConstructor:注解在类,生成无参的构造方法。
@RequiredArgsConstructor:注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
@AllArgsConstructor:注解在类,生成包含类中所有字段的构造方法。
@Data:作用于类上,是@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor的集合,生成setter/getter、equals、canEqual、hashCode、toString方法,如果为final属性,则不会为该属性生成setter方法。
@Log:作用在类上,生成日志变量。针对不同的日志实现产品,有不同的注解。
————————————————
版权声明:本文为CSDN博主「光阴不负卿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/li_w_ch/article/details/108681329