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