快速业务通道

Spring中基于aop命名空间的AOP 二(声明一个切面、切入点和通知) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

对于一个通知来说,切入点和对应的通知方法是必须的。也就是说,在这些属性中,method属性是必 须的,我们必须要给通知指定一个对应的方法;pointcut属性和pointcut-ref必须有一个被指定,以此确 定该通知的切入点。范例如下:

代码

<aop:aspect ref="MyAspect" order="0" id="Test"> <aop:pointcut id="testPointcut" expression="execution(* aop.test.TestBean.*(..))"/> <aop:before pointcut-ref="testPointcut" method="beforeAdvice"/> </aop:aspect>

2)、后置通知

声明一个后置通知使用<aop:after/>标签,它的属性等和<aop:before/>标签类似,下面 是范例:

代码

<aop:aspect ref="MyAspect" order="0" id="Test"> <aop:pointcut id="testPointcut" expression="execution(* aop.test.TestBean.*(..))" /> <aop:after pointcut-ref="testPointcut" method="AfterAdvice"/> </aop:aspect>

Spring中基于aop命名空间的AOP 二(声明一个切面、切入点和通知)(3)

时间:2011-09-24 残梦追月

3)、返回后通知

<aop:after-returning/>标签可以声明一个返回后通知,该标签的属性和<aop:before/> 相比它多了一个returning属性。该属性的意义类似于@AfterReturning注解的returning属性,用于将链 接点的返回值传给通知方法。用法如下:

代码

<aop:aspect ref="MyAspect" order="0" id="Test"> <aop:pointcut id="testPointcut" expression="execution(* aop.test.TestBean.*(..))" /> <aop:after-returning pointcut-ref="testPointcut" method="AfterReturnAdvice" returning="reVlue" /> </aop:aspect>

4)、异常通知

声明一个异常通知使用<aop:after-throwing />标签,它有一个类似于throwing属性又来指定 该通知匹配的异常类型。用法如下:

<aop:aspect ref="MyAspect" order="0" id="Test"> <aop:pointcut id="testPointcut" expression="execution(* aop.test.TestBean.*(..))" /> <aop:after-throwing pointcut-ref="testPointcut" method="afterThrowingAdvice" throwing="throwable" /> </aop:aspect>

5)、环绕通知

环绕通知是所有通知中功能最强大的通知,用<aop:around/>标签来声明。用法如下:

代码

<aop:aspect ref="MyAspect" order="0" id="Test"> <aop:pointcut id="testPointcut" expression="execution(* aop.test.TestBean.*(..))" /> <aop:around pointcut-ref="testPointcut" method="aroundAdvice"/> </aop:aspect>

(完)

http://www.blogjava.net/cmzy/archive/2008/08/25/224120.html

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号