7

我在一个遗留应用程序上工作,其中ProxyFactoryBean使用了 Spring AOP(即 )。

我需要围绕某个类的方法添加一个方面。然而,这个类不是一个 bean。AspecjJ 切入点表达式将如下所示: execution(* xyz.package.Class.method())

我创建了一个MethodInterceptorand AspectJExpressionPointcut,但我不知道如何让这两者一起工作。

编辑
我没有这个类的源代码,它是一个 3rd 方库。这个类的实例不是我创建的,既不是在源代码中,也不是在spring配置中作为bean。它由库内部使用。

任何帮助表示赞赏。

4

2 回答 2

4

您可以使用加载时编织,并按照此处所述使用完整的 AspectJ 支持,它不需要访问所建议的类的源,也不需要控制它们的实例化(尽管它需要使用或其他方法<context:load-time-weaver />并存在编织器本身)。-javaagent:...

于 2010-03-18T17:08:31.867 回答
3

试试@Configurable本文档中对此进行了解释。

@Configurable 注解将一个类标记为符合 Spring 驱动配置的条件

(你需要<context:load-time-weaver />

更新 您可以通过将第 3 方组件列为 bean applicationContext.xml<bean class=".." />您不需要@Configurable

于 2010-03-18T13:32:27.430 回答