小辣椒Lombok

Lombok是一个用于简化Java类的库,通过注解消除样板代码,提高开发效率。本文介绍了Lombok的实现原理,常见注解如@Setter、@Getter、@ToString等,并详细讲解了在IDEA中如何配置和使用Lombok。尽管Lombok带来了便利,但也存在需要IDE插件支持和可能影响调试的问题。
摘要由CSDN通过智能技术生成

  任何技术的出现都是为了解决某一类问题,Lombok也毫无例外。Lombok提供了一组有用的注释,用来消除Java类中的大量‘样板代码’,也就是臃肿代码,进而提高开发效率,降低代码维护成本。但是世界上没有绝对完美的东东,Lombok自然也有小瑕疵,Lombok的缺点在于需要IDE插件支持,需要团队统一规范,另外某些注解生成的隐性实现可能导致问题跟踪调试困难。

Lombok实现原理

  自从Java 6起,javac就支持“JSR 269 Pluggable Annotation Processing API”规范,只要程序实现了该API,就能在javac运行的时候得到调用。

Lombok就是一个实现了"JSR 269 API"的程序。在使用javac的过程中,它产生作用的具体流程如下:

  1. javac对源代码进行分析,生成一棵抽象语法树(AST)

  2. javac编译过程中调用实现了JSR 269的Lombok程序

  3. 此时Lombok就对第一步骤得到的AST进行处理,找到Lombok注解所在类对应的语法树 (AST),然后修改该语法树(AST),增加Lombok注解定义的相应树节点

  4. javac使用修改后的抽象语法树(AST)生成字节码文件

常用注解:

@Setter :注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。

@Getter :使用方法同上,区别在于

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值