声明式增强
声明式增强:借助Spring IOC的机制,为ProxyFactory代理工厂的属性实现依赖注入,这样做的优点是可配置型高,易用性好。
实例:
DoSomeService接口:
DoSomeServiceImol实现类:
BeforAdvice增强类:
Application-statemenr.xml文件:
测试:
结果:
环绕增强
环绕增强相当于前置增强和后置增强的结合体,使用<aop:around>处理
实例:
DoSomeService接口:
DoSomeServiceImpl实现类:
BeforAdvice增强类:
application-around.xml文件:
测试:
结果:
异常增强
异常增强处理,在目标方法抛出异常后织入;使用<aop:after-throwing>处理
新增exception包,作为异常抛出增强的讲解
实例:
DoSomeService接口:
DoSomeServiceImpl实现类:
BeforAdvice增强类:
application-around.xml文件:
测试:
结果:
最终增强
无论方法是否抛出异常,都会在目标方法后做织入的增强处理,即该增强一定会执行,有点类似try-catch-finally块中的finally,一般用于释放资源。
使用<aop:after>处理最终增强。
实例:
DoSomeService接口:
DoSomeServiceImpl实现类:
BeforAdvice增强类:
application-around.xml文件:
测试:
结果: