xml方式如何给一个切入点添加多个通知啊?
来源:4-3 各种通知类型的配置
weixin_慕虎5578550
2019-08-30 15:09:39
<aop:config> <!-- 配置切入点--> <aop:pointcut id="pointcut1" expression="execution(* com.imooc.demo2.CustomDao.save(..))" /> <aop:pointcut id="pointcut2" expression="execution(* com.imooc.demo2.CustomDao.update(..))" /> <aop:pointcut id="pointcut3" expression="execution(* com.imooc.demo2.CustomDao.delete(..))" /> <aop:pointcut id="pointcut4" expression="execution(* com.imooc.demo2.CustomDao.findOne(..))" /> <aop:pointcut id="pointcut5" expression="execution(* com.imooc.demo2.CustomDao.findAll(..))" /> <!--配置切面--> <aop:aspect ref="myAspectXml"> <!--配置前置通知--> <aop:before method="before" pointcut-ref="pointcut1" /> <!--配置后置通知--> <aop:after-returning method="afterReturing" pointcut-ref="pointcut2" returning="result"/> <!-- 配置环绕通知--> <aop:around method="around" pointcut-ref="pointcut3"/> <!-- 异常抛出通知--> <aop:after-throwing method="afterThrowing" pointcut-ref="pointcut4" throwing="e"/> <!-- 最终通知--> <aop:after method="after" pointcut-ref="pointcut5"/> </aop:aspect> </aop:config>
问题:(1)怎么给一个切入点添加多个通知?使用pointcut-ref="pointcut1||pointcut2"会异常。
(2)通知的属性里面有pointcut-ref=""和pointcut=""属性,他们有什么区别吗?
1回答
同学你好,关于同学的问题:
1、给一个切入点配置多个通知,可参考如下:
配置之后,执行效果如下,save方法就具有多个通知了。
2、pointcut-ref是前边配置好了切入点,然后在通知中,使用pointcut-ref引入配置切入点击的id即可,而pointcut是中是引入切入点,如:
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题