孤僻成瘾
2019-03-04 13:58
<aop:config> <aop:aspect id="myAspect" ref="aBean"> <aop:pointcut expression="execution(* com.imooc.aop.schema.advice.biz.*Biz.*(..))" id="moocPointcut" /> <aop:before method="before" pointcut-ref="moocPointcut" /> //前置通知 <aop:after-returning method="afterReturning" pointcut-ref="moocPointcut" /> //返回后通知 <aop:after-throwing method="afterThrowing" pointcut-ref="moocPointcut" /> //抛出异常后通知 <aop:after method="after" pointcut-ref="moocPointcut" /> //后通知 </aop:aspect> </aop:config>
aspect引用的类aBean相当于一个切面,里面提供处理切入点的方法,pointcut里的expression相当于一个生产线,里面的各个方法就相当于生产线的切入点。之后的after,after-throwing,before相当于不同切入点的工人,通过ponitcut-ref到指定切入点工作,只不过工作时间顺序不同,分别在切入点后,出问题后,切入点前,method表示程序顺着生产线到切入点时各个工人用切入面的方法处理。
写的挺好的,理解感觉也挺生动。
定义了一个方面,每个方面会有若干点,每个点都可以设置在什么时候触发这个点开始工作,分别可以设置在这个点发生的事件之前、之后、返回前、抛出异常之前。同时也设置了各个方法,一点触发就到对应的方法中执行相应的操作。
总体感觉大概就是这个意思。
Spring入门篇
268787 学习 · 963 问题
相似问题