如何在类上创建一个方面,这不是使用Spring AOP的bean?
我在遗留应用程序上工作,使用Spring AOP(即ProxyFactoryBean
)。
我需要在某个类的方法周围添加一个方面。 但是这个类不是 bean。 AspecjJ切入点表达式如下: execution(* xyz.package.Class.method())
我创建了一个MethodInterceptor
和AspectJExpressionPointcut
,但我不知道如何使这两个一起工作。
编辑 :
我没有这个类的源代码,它是第三方库。 这个类的实例不是由我创建的,既不是在源代码中创建的,也不是作为bean在spring配置中创建的。 它由库内部使用。
任何帮助赞赏。
您可以使用如此处所述的完整AspectJ支持的加载时编织,它不需要访问被建议的类的源,也不需要控制它们的实例化(尽管它需要
并且存在织工本身使用-javaagent:...
或其他方法 )。
试试@Configurable
。 本文档对此进行了解释。
@Configurable注释标记一个类符合Spring驱动配置的条件
(你需要
)
更新您可以将第三方组件作为
列在applicationContext.xml
,使第三方组件成为bean(您不需要@Configurable
)