lombok 的使用

首先在使用之前先安装lombok插件,因为了使用注解让它自动生成例如 get/set 方法,在编码阶段如果没有插件,不能显式调用方法,这里基于idea安装:

步骤:File ——》Settings——》Plugins.    搜索lombok,点击安装install

  

在平时的开发中创建JAVA对象(POJO),也就是JavaBean是再常见不过的工作了,一个普通的实体一般都会有对象的属性,以及属性对应的getter和setter方法,再加上构造函数、toString、hashCode、equals等等方法,简单的一个java对象,少则几十行,多着几百上千行,代码冗长,阅读性相对较差。lombok能很好的解决这个问题,消除代码的冗长。

想要使用lombok,需要引入坐标:

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
        </dependency>

lombok常用的注解:

  @Data
    是lombok中最常用的注释,集合了@ToString, @EqualsAndHashCode, @Getter和@Setter

    注意点1: 同时使用@Data 和 @AllArgsConstructor 后 ,默认的无参构造函数失效,如果需要它,要重新设置 @NoArgsConstructor。

    注意点2:当java对象有继承了父类方法的时候,需要同时使用@EqualsAndHashCode(callSuper=false),callSuper是指equals和hashCode是不是需要包含父类的属性,false为不包含父类属性。

  @Getter、@Setter、@ToString、@EqualsAndHashCode、@NoArgsConstructor、@AllArgsConstructor 不再赘述

  @NonNull

    注解在属性上;标识属性是不能为空,为空则抛出异常。

  @Slf4j

    注解在类上;根据用户实际使用的日志框架生成log日志对象。

  @Log4j

    注解在类上;为类提供一个 属性名为 log 的 log4j 日志对象

  @Cleanup
    这个注释可用于确保释放分配的资源,当局部变量被注释为@Cleanup,任何后续代码都包装在try/finally块,该块确保在当前作用域结束时调用清理方法。(自动调用close()方法)

@Cleanup 
InputStream in = new FileInputStream(args[0]);
@Cleanup 
OutputStream out = new FileOutputStream(args[1]);
原文地址:https://www.cnblogs.com/roadlandscape/p/12467359.html