spring - 混合Spring AOP和aspectj编译器?

标签 spring aop aspectj

我有一个基于 spring 构建的现有项目。

我想捕获对 HibernateTemplate.save() 的调用,因此我在 exec(save()) 上定义了一个切入点,并将时间记录在周围建议中。

我可以使用 spring AOP 定义方面,但我可以看到 spring AOP 仅在切入点中的对象是 bean 时才起作用,但在我的情况下,可以直接在现有客户端中的 new() 中创建 HibernateTemplate代码。

所以我必须通过maven插件使用aspectj编译器。我想知道混合spring AOP和aspectj是否有潜在的冲突? ---- 该项目以前的开发人员可能已经在某处使用过 Spring AOP

谢谢 杨

最佳答案

我通常在所有 Spring 应用程序中使用 AspectJ 而不是 Spring-Proxy-AOP。为此,您需要设置一些 spring 配置,主要设置类似 mode="AspectJ" 的内容。一旦我忘记了其中一些配置,这意味着应用程序对某些方面使用了 AspectJ,对其他方面使用了 Spring-Proxy-AOP,是的,应用程序工作正常(除了我真正需要 AspectJ 而不是 pring-Proxy 的情况) AOP)。

所以从我的角度来看:如果你有足够的测试用例,那么就尝试一下。

关于spring - 混合Spring AOP和aspectj编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304521/

相关文章:

java - Spring 和 Abstract 类 - 在抽象类中注入(inject)属性

Spring + Vaadin 整合设计模式

spring - java.lang.NoSuchMethodError :org. apache.cxf.service.model.MessageInfo.getFirstMessagePart() org/apache/cxf/service/model/MessagePartInfo;

java - jmock 和mockito 如何创建包装器?

java - 具有多个客户端的中央身份验证服务器,使用资源所有者密码凭据 oauth 流程

java - 在建议未被执行之前

wpf - 我们更需要什么样的编译器魔法?

Spring依赖注入(inject)带注释的Aspect

java - 我如何在 Spring 3 中将 @Aspect 与 @Controller 结合起来?

Spring Roo - 如何在没有 AspectJ 的情况下使用它?