基本概念
说到 spring aop
大家都知道是面向切面编程,本文就不在啰嗦的介绍什么是面向切面编程,本文重点是编码过程中如何使用 spring aop
,首先要理解一下几个概念。
切面(Aspect)
切面简单理解就是一个类,在这个类里面定义了通知与切点。
通知(advice)
spring aop中的五种通知方式:
- @Before:前置通知,在目标方法被调用之前调用通知功能
- @After:后置通知,在目标方法执行结束后,无论执行结果如何都执行通知定义的任务
- @After-returning:后置通知,在目标方法执行结束后,如果执行成功,则执行通知定义的任务
- @After-throwing:异常通知,如果目标方法执行过程中抛出异常,则执行通知定义的任务
- @Around:环绕通知,在目标方法执行前和执行后,都需要执行通知定义的任务。
切点(PointCut)
切点就是告诉程序要在执行哪些类、方法时执行我们自定义的各种通知。切点如何定义呢?我们通常是使用 Aspectj 的切点表达式语言来定义切点。所以需要了解一下 spring aop 所支持的 Aspectj 切点表达式。
原文
https://segmentfault.com/a/1190000019290787