1.前置增强 MethodBeforeAdvice
定义接口和实现类和增强类
定义配置文件
测试类
2.后置增强 AfterReturingAdvice returnValue获取方法返回值
增强类
配置文件
测试类
3.环绕增强 MethodInterceptor
增强类
配置文件
测试类同上
4.异常增强 接口中没有方法,但是得实现afterThrows
测试类 方法调用最好使用try catch环绕不要用throws抛异常
2.顾问(Advisor)
通知Advice是Spring提供的一种切面(Aspect)。但其功能过于简单,只能
将切面织入到目标类的所有目标方法中,无法完成将切面织入到指定目标方法中。
顾问Advisor是Spring提供的另一种切面。其可以完成更为复杂的切面织入功能,能选择性的将增强切面中的部分方法。PointcutAdvisor是顾问的一种,可以指定具体的切入点。顾问将通知进行了包装,会根据不同的通知类型,在不同的时间点,将切面织入到不同的切入点。
PointcutAdvisor接口有两个较为常用的实现类:
*:NameMatchMethodPointcutAdvisor 名称匹配方法切入点顾问
*: RegexpMethodPointcutAdvisor 正则表达式匹配方法切入点顾问