1、AOP术语
通知(Advise):
切面的工作被称为通知,通知还解决了何时执行这个工作的问题。
Spring切面可以应用5种类型的通知:
- 前置通知(Before)
- 后置通知(After)
- 返回通知(After-returning)
- 异常通知(After-throwing)
连接点(Join point):
应用执行过程中能够插入切面的一个点。
切点(Poincut):
切点的定义会匹配通知所要织入的一个或多个连接点,有些AOP框架支持动态切点。
切面(Aspect):
通知和切点的结合——是什么,何时何处完成其功能。
引入(Introduction):
通过注入实例的方法,允许我们向现有的类添加新方法或者属性。
扫描二维码关注公众号,回复:
12686203 查看本文章

织入(Weaving):
把切面应用到目标对象并创建新的代理对象的过程。在目标对象的生命周期里有多个点可以进行织入:
- 编译期
- 类加载期
- 运行期
2、Spring对AOP的支持
Spring提供4种类型的AOP支持:
- 基于代理的经典Spring AOP
- 纯POJO切面
- @AspectJ注解驱动的切面
- 注入式AspectJ切面
Spring的切面由包裹了目标对象的代理类实现。代理类处理方法的调用,执行额外的切面逻辑,并调用目标方法。
因为Spring是基于动态代理,所以Spring只支持方法连接点,如果需要其他类型连接点则通过Aspect来补充。