使用 Spring 以编程方式创建 AOP 代理很容易。这使您可以使用 不依赖 Spring IoC 的 Spring AOP。
目标对象实现的接口是 自动代理。以下列表显示了为目标对象创建代理,其中包含一个 拦截器和一名顾问:
-
Java
-
Kotlin
ProxyFactory factory = new ProxyFactory(myBusinessInterfaceImpl);
factory.addAdvice(myMethodInterceptor);
factory.addAdvisor(myAdvisor);
MyBusinessInterface tb = (MyBusinessInterface) factory.getProxy();
val factory = ProxyFactory(myBusinessInterfaceImpl)
factory.addAdvice(myMethodInterceptor)
factory.addAdvisor(myAdvisor)
val tb = factory.proxy as MyBusinessInterface
第一步是构造 类型的对象。您可以使用目标创建它
对象,如前面的示例所示,或指定要在备用接口中代理的接口
构造 函数。org.springframework.aop.framework.ProxyFactory
您可以添加建议(拦截器是一种专门的建议)、顾问或两者兼而有之
并在 .如果添加 ,则可以使代理实现其他
接口。ProxyFactory
IntroductionInterceptionAroundAdvisor
还有方便的方法(继承自)
这使您可以添加其他建议类型,例如之前和抛出建议。 是 和 的超类。ProxyFactory
AdvisedSupport
AdvisedSupport
ProxyFactory
ProxyFactoryBean
在大多数情况下,将 AOP 代理创建与 IoC 框架集成是最佳实践 应用。我们建议您使用 AOP 将 Java 代码中的配置外部化, 一般来说,你应该这样做。 |