经典Aop

来源:互联网 发布:js中push 编辑:程序博客网 时间:2024/06/05 09:57

1.前置增强   MethodBeforeAdvice

定义接口和实现类和增强类




定义配置文件


测试类


2.后置增强     AfterReturingAdvice     returnValue获取方法返回值 

增强类


配置文件


测试类


3.环绕增强   MethodInterceptor

增强类


配置文件


测试类同上

4.异常增强    接口中没有方法,但是得实现afterThrows




测试类   方法调用最好使用try  catch环绕不要用throws抛异常


2.顾问(Advisor)
   通知Advice是Spring提供的一种切面(Aspect)。但其功能过于简单,只能
将切面织入到目标类的所有目标方法中,无法完成将切面织入到指定目标方法中。


顾问Advisor是Spring提供的另一种切面。其可以完成更为复杂的切面织入功能,能选择性的将增强切面中的部分方法。PointcutAdvisor是顾问的一种,可以指定具体的切入点。顾问将通知进行了包装,会根据不同的通知类型,在不同的时间点,将切面织入到不同的切入点。
PointcutAdvisor接口有两个较为常用的实现类:
 *:NameMatchMethodPointcutAdvisor 名称匹配方法切入点顾问


 *: RegexpMethodPointcutAdvisor 正则表达式匹配方法切入点顾问


原创粉丝点击