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:作用在类上,生成日志变量。针对不同的日志实现产品,有不同的注解。

猜你喜欢

转载自blog.csdn.net/li_w_ch/article/details/108681329