spring中AOP的XML的编写

本文详细介绍了Spring AOP的配置方法,包括Bean定义、Advice设置、Pointcut定义及Advisor配置等核心内容。通过示例展示了如何利用Spring框架实现面向切面编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?xmlversion="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/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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值