技术开发 频道

Spring AOP: Spring之面向方面编程

使用Spring以编程的方式创建AOP代理也很简单。 这使得你不需要Spring的IoC就能够使用Spring的AOP。

下面的代码显示的用拦截器和advisor为目标对象创建代理。目标对象实现的接口将自动被代理:

ProxyFactory factory = new ProxyFactory(myBusinessInterfaceImpl); factory.addInterceptor(myMethodInterceptor); factory.addAdvisor(myAdvisor); MyBusinessInterface tb = (MyBusinessInterface) factory.getProxy();



第一步是创建类型为org.springframework.aop.framework.ProxyFactory 的对象。你可以和上面的例子一样用目标对象创建,或者在另一个构造函数中指定要被代理的接口。

你可以添加拦截器或advisor,在整个ProxyFactory的生命周期内操作它们。如果你添加 IntroductionInterceptionAroundAdvisor,你可以使代理实现附加接口。

ProxyFactory(它是从AdvisedSupport继承而来)也提供了一些实用方法,使你可以添加 其它通知类型,比如before通知和throws通知。AdvisedSupport是ProxyFactory和ProxyFactoryBean 的父类。

将AOP代理的创建和IoC框架结合起来在大多数应用中都是最好的实现方式。我们推荐你和一般情况一样, 不要将AOP配置信息放在Java代码里。

0
相关文章