前言:
AOP并不是Spring框架特有的。Spring只是支持AOP编程 (面向切面编程) 的框架之一。
概念:
1、切面(Aspect)
一系列Advice + Pointcut 的集合。
2、通知(Advice)
通知是切面开启后,切面的方法。
- 前置通知 ( before ):在动态代理反射原有对象方法 或者 执行环绕通知 前 执行的通知功能
- 后置通知(after):在动态代理反射原有对象方法 或者 执行环绕通知 后 执行的通知功能
- 返回通知 (afterReturning):在动态代理反射原有对象方法 或者 执行环绕通知 后 正常返回(无异常)执行的通知功能
- 异常通知(afterTherowing):在动态代理反射原有对象方法 或者 执行环绕通知 产生异常后执行的通知功能
- 环绕通知(around):在动态代理中,它可以取代当前被拦截对象的方法,提供回调原有被拦截对象的方法
3、引入(Introduction)
引入允许我们在现有的类里添加自定义的类和方法
4、切点(Pointcut)
这是一个告诉Spring AOP 在什么时候启动拦截并织入对应的流程,因为并不是所有的开发都是需要启动AOP的,它往往通过正则表达进行限定
5、连接点( join point)
Pointcut 中的某个具体位置。
Spring使用@AspectJ开发AOP(注解的方式)
原文:https://www.cnblogs.com/oukele/p/10137958.html