Lombok插件

一. Lombok简介

  1. 为什么要使用Lombok

开发中经常需要为JavaBean添加相应的构造方法,getter/setter方法,toString(),equals() and hashcode()等方法,这些代码很冗长,而且也没有太多技术含量

  1. Lombok简介

Lombok插件提供了简单的注解来自动生成以上代码,提高开发人员的开发效率
在这里插入图片描述

【官网地址】https://projectlombok.org/
【Github地址】https://github.com/rzwitserloot/lombok

二. Lombok提供的注解

在这里插入图片描述1. getter/setter方法的注解

@Getter
@Setter

  1. toString()方法的注解

@ToString

  1. equals()和hashCode()方法的注解

@EqualsAndHashCode

  1. 构造方法的注解

@NoArgsConstructor //无参构造器
@AllArgsConstructor //全参构造器
@RequiredArgsConstructor //只包含final和@NonNull注解的成员变量的私有构造器

@NonNull //用在类的属性上,限定属性不能为空,否则抛出空指针异常

  1. 组合注解

@Data = @Getter + @Setter + @ToString + @EqualsAndHashCode + @RequiredArgsConstructor

@Value = @Getter + @ToString + @EqualsAndHashCode + @RequiredArgsConstructor

  1. 日志注解

Lombok支持JDK的Log,以及第三
方的Log4j,Slf4j,LogBack等多种日志框架

Lombok会在类中自动添加定义日志变量log的代码,后续代码中可以直接使用log变量

@Log注解
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(类名.class.getName());

@Log4j注解
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(类名.class);

@Slf4j注解
private static final Logger log = LoggerFactory.getLogger(类名.class);

【注意】SpringBoot默认支持slf4j + logback日志框架,直接使用@Slf4j注解

三. Lombok的使用步骤 重点

  1. 在IDEA中安装lombok插件

Settings --> Plugins --> 在Marketplace中搜索lombok,安装lombok插件,并重启IDEA,使插件生效
在这里插入图片描述
在这里插入图片描述
【本地安装】https://plugins.jetbrains.com/plugin/6317-lombok/

  1. 在pom文件中引入Lombok的依赖
    在这里插入图片描述
<!-- Lombok插件 -->
   <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
        <scope>provided</scope>
   </dependency>
  1. 使用Lombok提供的日志注解

(1)导入Log4j日志框架的jar包依赖

<!-- Log4j日志框架 -->
   <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
   </dependency>

(2)将Log4j的日志文件log4j.properties保存在resources文件夹下

log4j.rootLogger=DEBUG, stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

四. Lombok的工作原理 了解

Lombok插件在编译时修改Java类的字节码,自动在类中添加了所需的代码后,再编译成字节码

  1. JSR 269规范

  2. 从JDK6开始,javac就支持“JSR 269 Pluggable Annotation Processing API”规范,只要程序实现了该API,就能在javac运行的时候得到调用,而Lombok就是一个实现了"JSR 269 API"的插件
    在这里插入图片描述2. 工作流程

(1)javac.exe对java源码进行分析,生成一棵抽象语法树(AST)
(2)javac.exe调用实现了JSR 269的Lombok插件程序
(3)Lombok就对AST进行处理,找到Lombok注解所在类对应的语法树并对其进行修改,增加Lombok注解定义的相应树节点
(4)javac.exe使用修改后的抽象语法树(AST)生成字节码文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值