PRELOADER

当前文章 : 《lombok使用》

5/5/2019 —— 

Lombok简介

  Lombok是一种自动接通你的编辑器和构建工具的一个Java库。不用再一次写额外的getter或者equals方法。简单来说lombok其实就是帮助我们编写getter或者equals方法的一个“工具”。

为什么使用Lombok

  简化冗余的JavaBean代码,大大提高JavaBean中方法的执行效率;

Lombok实现原理

  Lombok实现了JSR 269 API规范,javac在Java6开始支持这一规范,
只要程序实现了该API,就能在javac运行的时候得到调用,那么Lombok在编译时使用的就是javac。
项目的源代码文件,在经过编译处理以后,lombok会使用自己的抽象语法树去进行注解的匹配,如果在项目中的某一个类中使用了lombok中的注解,
那么注解编译器就会自动去匹配项目中的注解对应到在lombok语法树中的注解文件,并经过自动编译匹配来生成对应类中的getter或者setter方法,达到简化代码的目的。

常用注解

  • @Data注解:在JavaBean或类JavaBean中使用,这个注解包含范围最广,它包含getter、setter、NoArgsConstructor注解,即当使用当前注解时,会自 动生成包含的所有方法;
  • @getter注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的getter方法;
  • @setter注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的setter方法;
  • @NoArgsConstructor注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的无参构造方法;
  • @AllArgsConstructor注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的有参构造方法;
  • @ToString注解:在JavaBean或类JavaBean中使用,使用此注解会自动重写对应的toStirng方法;
  • @EqualsAndHashCode注解:在JavaBean或类JavaBean中使用,使用此注解会自动重写对应的equals方法和hashCode方法;
  • @Slf4j:在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;
  • @Log4j:在需要打印日志的类中使用,当项目中使用了log4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;
    在使用以上注解需要处理参数时,处理方法如下(以@ToString注解为例,其他注解同@ToString注解):
  • @ToString(exclude=”column”)
    意义:排除column列所对应的元素,即在生成toString方法时不包含column参数;
  • @ToString(exclude={“column1”,”column2”})
    意义:排除多个column列所对应的元素,其中间用英文状态下的逗号进行分割,即在生成toString方法时不包含多个column参数;
  • @ToString(of=”column”)
    意义:只生成包含column列所对应的元素的参数的toString方法,即在生成toString方法时只包含column参数;
  • @ToString(of={“column1”,”column2”})
    意义:只生成包含多个column列所对应的元素的参数的toString方法,其中间用英文状态下的逗号进行分割,即在生成toString方法时只包含多个column参数;

安装配置

  1. 下载lombok.jar至eclipse安装路径与eclipse.ini同级
  2. 在当前目录打开cmd命令窗口 输入命令java -jar lombok.jar 一直点击确定或下一步,查看是否安装成功,打开eclipse.ini文件查看是否有-javaagent::\\lombok.jar
  3. 在项目pom.xml文件中加入lombok依赖

    1
    2
    3
    4
    5
    <dependency>
                 <groupId>org.project.lombok</groupId>
                 <artifactId>lombok</artifactId>
                 <version>1.16.10</version>
            </dependency>