Java中的面向方面编程

Java中的面向方面编程,java,aop,Java,Aop,Java面向方面编程的最佳工具是什么 对工具的要求当然是IDE支持、表达能力和适当的文档。我想说的是AspectJ。据我所知,IDE部分是缺乏的,但文档和表达能力是我见过的最好的AOP框架之一。JBossAOP和AspectJ是两个常用的、成熟的AOP框架。另一个流行的选择是SpringAOP,但它缺少其他两个的一些特性 JBossAOP和AspectJ都有相似的特性,一个很大的区别是AspectJ依赖于Java语言的扩展,而JBossAOP则没有 如果您的AOP需求相当简单,那么还值得考虑字节

Java面向方面编程的最佳工具是什么


对工具的要求当然是IDE支持、表达能力和适当的文档。

我想说的是AspectJ。据我所知,IDE部分是缺乏的,但文档和表达能力是我见过的最好的AOP框架之一。

JBossAOP和AspectJ是两个常用的、成熟的AOP框架。另一个流行的选择是SpringAOP,但它缺少其他两个的一些特性

JBossAOP和AspectJ都有相似的特性,一个很大的区别是AspectJ依赖于Java语言的扩展,而JBossAOP则没有


如果您的AOP需求相当简单,那么还值得考虑字节码操作库,例如。我使用ASM实现了简单的“环绕建议”(即在方法调用之前和之后注入的代码),它被证明是JBossAOP的一个更轻量级的替代方案。ASM设计清晰,文档齐全

如果您已经在使用Spring,那么托管对象已经有了。虽然不如AspectJ灵活,但它不需要AspectJ那样的预编译步骤。

关于SpringAOP支持。默认情况下,它只与Spring可管理对象相关,并且基于AspectJ创建它


我还没有亲自检查它,但它似乎允许使用AOP和其他对象(例如,Tomcat下的加载时编织)。详细信息是。

AOP与spring fallow此链接