前些时间在学习Spring时看到AOP,即面向切面编程,这个概念很新鲜,感觉用起来特别牛逼,无奈我是相见恨晚啊,在网上搜一下关于Android AOP的可行方案,大约有两种,一个是阿里的开源项目Dexposed,另一个是AspectJ,在我拜读了看见了邓凡平老师的深入理解Android之AOP后,觉得用AspectJ
比较符合Java的本质吧,这个纯属自己的观点,哈哈哈!
如何集成
AspectJ的使用核心就是它的编译器,它就做了一件事,将AspectJ的代码在编译期插入目标程序当中,运行时跟在其它地方没什么两样,因此要使用它最关键的就是使用它的编译器去编译代码ajc。ajc会构建目标程序与AspectJ代码的联系,在编译期将AspectJ代码插入被切出的PointCut中,已达到AOP的目的。因此,无论在什么IDE上(如果使用命令行就可以直接使用ajc编译了),问题就是让IDE使用ajc作为编译器编译代码。