我在处理遗留应用程序,其中使用了 Spring AOP(即 ProxyFactoryBean
)。
我需要围绕某个类的方法添加一个方面。然而,这个类不是一个bean。
AspecjJ 切入点表达式如下所示:
执行(* xyz.package.Class.method())
我创建了一个 MethodInterceptor
和 AspectJExpressionPointcut
,但我不知道如何让这两者协同工作。
编辑:
我没有此类的源代码,它是第 3 方库。这个类的实例不是我创建的,既不是在源代码中,也不是在作为 beans 的 spring 配置中。它由图书馆内部使用。
感谢任何帮助。
最佳答案
您可以使用具有完整 AspectJ 支持的加载时编织,如所述 here ,它不需要访问被建议类的源代码,也不需要控制它们的实例化(尽管它需要 <context:load-time-weaver />
和使用 -javaagent:...
或 other methods 的编织器本身的存在)。
关于java - 如何在类上创建一个方面,而不是使用 Spring AOP 的 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2470014/