标签:实现 imp style load prope 编程 org inter list
一 . 概述
在前一节之中,我们使用ProxyFactory创建了代理对象,后面也提到,spring支持配置式的方式创建代理对象.
配置的关键就是ProxyFactoryBean.
二 .ProxyFactoryBean的结构
public class ProxyFactoryBean extends ProxyCreatorSupport implements FactoryBean<Object>, BeanClassLoaderAware, BeanFactoryAware {
我们看到这个类实现了FactoryBean接口,那么我们就知道这个实现类是专门用来创建对象的.
我们将上一节的内容进行配置.
<!--配置目标对象 --> <bean id="realSubject" class="com.trek.factory.RealSubject"></bean> <!-- 配置通知对象 --> <bean id="advice" class="com.trek.factory.ExecBeforeAdvice"></bean> <!-- 配置代理对象 --> <bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean"> <!-- 代理对象 --> <property name="target" ref="realSubject"></property> <!-- 声明的接口 --> <property name="proxyInterfaces" value="com.trek.factory.Subject"></property> <!-- 增强 --> <property name="interceptorNames"> <list> <value>advice</value> </list> </property> </bean>
测试代码:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("com/trek/factory/spring.xml"); Subject proxy = (Subject) context.getBean("proxy"); proxy.exec();
通过上面的配置,我们省去了编程的方式创建代理对象.
标签:实现 imp style load prope 编程 org inter list
原文地址:https://www.cnblogs.com/trekxu/p/9097354.html