对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

使用ProxyFactory

使用 Spring 以编程方式创建 AOP 代理很容易。这使您可以使用Spring AOP 而不依赖于 Spring IoC。spring-doc.cadn.net.cn

目标对象实现的接口是自动代理的。以下列表显示了为目标对象创建代理,其中包含一个拦截器和一个顾问:spring-doc.cadn.net.cn

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. 您可以使用目标对象创建此接口,如前面的示例所示,或指定要在备用 构造 函数。spring-doc.cadn.net.cn

您可以添加建议(将拦截器作为一种专门的建议)、顾问或两者兼而有之并在ProxyFactory. 如果您添加IntroductionInterceptionAroundAdvisor,您可以使代理实现额外的 接口。spring-doc.cadn.net.cn

上也有方便的方法ProxyFactory(继承自AdvisedSupport) 允许您添加其他建议类型,例如之前和抛出建议。AdvisedSupport是两者的超类ProxyFactoryProxyFactoryBean.spring-doc.cadn.net.cn

将 AOP 代理创建与 IoC 框架集成是大多数人的最佳实践 应用。 我们建议您使用 AOP 从 Java 代码外部化配置,就像您通常应该的那样。