<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- ㈠具体bean的定义 -->
<bean id="bankref" class="aop.advice.Bank"></bean>
<!-- ㈡advice 的定义 -->
<bean id="before" class="aop.advice.Before"></bean>
<bean id="after" class="aop.advice.After"></bean>
<bean id="arround" class="aop.advice.Arround"></bean>
<!-- ㈢
=================================================================================================
pointcut 的定义,分两种:
<bean id="transacpiontcut" class="aop.pointcut.TransactionPointCut"></bean>
用spring定义好的NameMatchMethodPointcut
<bean id="transacpiontcut" class="org.springframework.aop.support.NameMatchMethodPointcut">
<property name="mappedNames">
<list>
<value>find</value>
<value>transfer</value>
</list>
</property>
</bean>
=================================================================================================
-->
<!-- ㈣
<bean id="tAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
<property name="pointcut">
<ref bean="transacpiontcut"/>
</property>
<property name="advice">
<ref bean="arround"/>
</property>
</bean>
-->
<!-- ㈤ -->
<bean id="tAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice">
<ref bean="arround"/>
</property>
<property name="mappedNames">
<list>
<value>find</value>
</list>
</property>
</bean>
<!-- ㈥ 自动advisor代理,省略proxyfactorybean,简洁清晰
=================================================================================================
-->
<bean id="autoadvisor"
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"></bean>
<!-- ㈦ 下面为自动代理bean工厂,通过属性beanNames属性进行beanname的匹配,
与上面的DefaultAdvisorAutoProxyCreator选一个使用就行,都是自动匹配,还是上面的简洁美观。
=================================================================================================
id="bank" 可省略
<bean id="bank"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>bankref</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>tAdvisor</value>
</list>
</property>
</bean>
-->
<!-- ㈧单个bean的工厂,效率问题一般不用
=================================================================================================
<bean id="bank"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="bank"/>
</property>
<property name="proxyInterfaces">
<list>
<value>aop.advice.Bankif</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>before</value>
<value>after</value>
<value>arround</value>
</list>
</property>
</bean>
-->
</beans>
540

被折叠的 条评论
为什么被折叠?



