使用Spring_Aop
时间:2006-12-31 来源:liulibo
1.创建代理的几种模式(自动创建代理,使用时必须获取实现类,工厂创建代理可以添加所要继承的接口)
一:org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator自动代理创建器
<bean id="" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>
二:org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator名字匹配自动创建代理
属性
beanNames
<bean id="" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>bean*</value>
</property>
<property name="interceptorNames">
<list>
<value>id</value>
</list>
</property>
</bean>
三:org.springframework.aop.framework.ProxyFactoryBean创建手动代理Bean(建议)
属性
proxyInterfaces代理类继承的接口
target代理目标对象
interceptorNames通知bean名
<bean id="" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>class</value>
</property>
<property name="target">
<ref bean="id"/>
</property>
<property name="interceptorNames">
<list>
<value>id</value>
</list>
</property>
</bean>
2.org.springframework.aop.support.RegexpMethodPointcutAdvisor属性(创建通知)
advice通知id
pattern匹配模式
***************************************************************************************
类型:
MethodInterceptor 接口
MethodBeforeAdvice 接口
AfterReturningAdvice 接口
ThrowsAdvice 接口
***************************************************************************************
模板
<bean id="" class="org.springframework.aop.framework.ProxyFactoryBean">创建代理bean
<property name="proxyInterfaces">代理类继承的接口
<value>接口</value>
</property>
<property name="target">代理目标对象id
<ref local="id"/>
</property>
<property name="interceptorNames">通知id
<list>
<value>id</value>
</list>
</property>
</bean>
<bean id="" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">通知
<ref local="id"/>
</property>
<property name="pattern">匹配模式
<value>.*</value>
</property>
</bean>
<bean id="" class="通知类"/>创建通知
<bean id="" class="目标类"/>创建代理目标对象
一:org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator自动代理创建器
<bean id="" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>
二:org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator名字匹配自动创建代理
属性
beanNames
<bean id="" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<value>bean*</value>
</property>
<property name="interceptorNames">
<list>
<value>id</value>
</list>
</property>
</bean>
三:org.springframework.aop.framework.ProxyFactoryBean创建手动代理Bean(建议)
属性
proxyInterfaces代理类继承的接口
target代理目标对象
interceptorNames通知bean名
<bean id="" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>class</value>
</property>
<property name="target">
<ref bean="id"/>
</property>
<property name="interceptorNames">
<list>
<value>id</value>
</list>
</property>
</bean>
2.org.springframework.aop.support.RegexpMethodPointcutAdvisor属性(创建通知)
advice通知id
pattern匹配模式
***************************************************************************************
类型:
MethodInterceptor 接口
MethodBeforeAdvice 接口
AfterReturningAdvice 接口
ThrowsAdvice 接口
***************************************************************************************
模板
<bean id="" class="org.springframework.aop.framework.ProxyFactoryBean">创建代理bean
<property name="proxyInterfaces">代理类继承的接口
<value>接口</value>
</property>
<property name="target">代理目标对象id
<ref local="id"/>
</property>
<property name="interceptorNames">通知id
<list>
<value>id</value>
</list>
</property>
</bean>
<bean id="" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">通知
<ref local="id"/>
</property>
<property name="pattern">匹配模式
<value>.*</value>
</property>
</bean>
<bean id="" class="通知类"/>创建通知
<bean id="" class="目标类"/>创建代理目标对象
相关阅读 更多 +