AspectJ可以说是一个很成熟的技术,成熟表现在:
1. 它在2005年就开始了
2. 它的eclipse插件做得非常好用,达到了java编辑器的水准
然而不得不承认的是,好像很少见到有人使用它。总觉得它是一项很神秘的技术,功能强大,能做很多事情,但是到底能做什么,有什么危险性,却又不清楚。想用到自己的项目中,却又听说它使用了自己的编译器,不知怎么结合使用。中文资料又少得可怜,好像除了书店里那一两本书,很难在网上找到什么有用的资料。而它自己的英文文档写得又臭又长,非常难懂。我昨天尝试使用,以失败告终,那个文档实在太难读了。
不过通过对一两个例子的理解,我觉得aspectj这个东西,到真是一个很强大的工具。它可以静态的对java语言进行各种增强,比如增加字段、增加函数、改变函数功能等等。把java与aspectj结合起来,我们可以极大的增强java的灵活性。比如roo这个框架,就是建立在aspectj的基础上的,实现了“充血模型”和很多其它强大的功能。
可惜的是,这个东西给人的感觉太严肃太学院了,文档也太难懂,不然的话,现在的发展一定会好很多。
希望有机会时好好研究一下这个东西,毕竟java本身的发展太慢,我们必须借助一些其它的工具来提高开发效率。