Java Annotation相关

本文介绍了AndroidAnnotation、AspectJ和Lombok这三个强大的注解工具库。它们分别用于减少Android开发中的样板代码、实现面向切面编程以及简化Java代码。文章探讨了它们的实现原理和技术特点。
摘要由CSDN通过智能技术生成

最近学了很多Annotation相关,AndroidAnnotation、AspectJ、Lombok等,先整理下。

AndroidAnnotation:

    AndroidAnnotation提供大量注解来减少重复代码的编写,例如@ViewById 相当于findViewById。实现原理的话,在编译过程中底层使用了JavaPoet来生成相关类来代替原先的类。文档和如何配置github上面都有

    github地址:https://github.com/androidannotations/androidannotations

AspectJ:

    AspectJ更像一个新的编程方式,AspectJ的使用方式叫AOP,面向切面编程,AspectJ有自己的一套编译系统,对注释处理在编译或加载阶段,生成静态代理相关类来处理逻辑。

    官网:http://www.eclipse.org/aspectj/

Lombok相关:

    Lombok是一个通过注解来减少重复代码的库,提供@Getter @Setter之类,看起来和AndroidAnnotation相似,只能说目的相近,Lombok更偏向Java和Java语言的扩展,实现原理是直接操作AST(编译过程中的语法树),所以看不到他生成的代码,却能调用生成的方法。

    基础知识,java编译过程:http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html

    官网:https://www.projectlombok.org/

    github:https://github.com/rzwitserloot/lombok

    其他 Lombok相关:https://www.ibm.com/developerworks/cn/java/j-lombok/?ca=drs- https://blog.mythsman.com/2017/12/19/1/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值