面向方面编程的Java最佳工具是什么?
工具的要求当然是IDE支持,表现力和适当的文档.
JBossAOP和AspectJ是AOP的两个常用的成熟框架.另一个受欢迎的选择是Spring AOP,但它缺少其他两个的一些功能.
JBossAOP和AspectJ都有类似的功能,一个很大的区别是AspectJ依赖于Java语言的扩展,而JBoss AOP则没有.
如果您的AOP要求相当简单,那么也值得考虑一个字节码操作库,例如ASM.我已经使用ASM来实现简单的'around-advice'(即在方法调用之前和之后注入的代码),并且它被证明是JBossAOP的一个更轻量级的替代品.ASM设计简洁,文档齐全.