LomBok

              俗话说的好,授人以鱼不如授人以渔,so,我就直接将我们的LomBok的实现原理和环境说清楚哈
  • lombok实现原理和背景
    • 背景
      • 自从java6开始,javac就开始支持“JSR 269 Pluggable Annotation Processing Api”规范,也就是只要程序实现该API,就能在javac运行时得到调用
    • LomBok就是一个实现了“JSR 269 API”的程序,在使用javac的过程中,它产生作用的具体流程
      • javac对其源码进行分析,生成抽象语法树(SAT)
      • javac编译过程中调用实现了JSR 269Api接口的LomBok注解
      • LomBok会对javac生成的SAT(抽象语法树)进行修改,找到lombok对应所在类的对应语法树,然后,修改语法树,添加lombok注解定义的相关树节点
      • javac会对修改后的抽象语法树进行生成字节码文件
  • LomBok使用流程
    • 背景
      • 因为我本身喜欢科技化的生产力工具,这里也就使用IDEA
    • 流程
      • 在idea中添加对应的插件进行使用
        • img
      • 引入maven的依赖

        • <dependency>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
              <version>1.16.14</version>
          </dependency>
  • LomBok常用注解
    • @Get@Set作用在类上
      • 在给所有的成员变量生成GetSet方法,同时可以设定访问权限及是否懒加载
    • @ToString
      • 声称该类的toString方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段
    • @NotNull
      • 作用于成员变量和参数!表示不能为空,否则抛出空指针
    • @NoArgsConstructor
      • 生成无参构造
    • @AllArgsConstructor
      • 生成全参构造
    • @Data
      • 是@ToString@EqualsAndHashCode@Getter@Setter @RequiredArgsConstructor注解的集合
    • @Log
      • 作用于类,生成日志变量,针对不同的日志实现,有什么不同的注解
         呐,lombok添加+使用+实现原理一步到位哈,加油各位

img
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值