你不必害怕沉沦堕落,只消你能不断的自拔与更新
Spring AOP概览
AOP概述
介绍AOP的基本概念,首先对AOP做一个大致的了解
AOP原理以及关键概念

下面结合上面的AOP原理图来看一下AOP的一些关键概念
- JoinPoint:代表程序运行时的一个具体的织入点
- Pointcut:一组JoinPoint的集合,通常由正则表达式来定义
- Advice:切面的逻辑
- Advisor:一个Advisor包含一个Advise和一个PointCut
Spring AOP实现的基本类图
了解了这些基本的概念以后,来看下Spring使如何实现这些概念的,看下面的类图

下面对几个重要的类做简要说明:
- Advice:Advice接口,使一个标签接口,没有定义任何成员和方法
- BeforeAdvice,AfterAdvice,ThrowsAdvice:这三个接口都只是标签接口,没有定义任何成员方法
- MethodBeforeAdvice:接口,定义了方法调用前调用的Advice
- AfterReturningAdvice:接口,定义了方法调用返回后的Advice
- Pointcut:Spring Pointcut的核心抽象,一个Pointcut包含了一个ClassFilter和一个MethodMatcher
- MethodMatcher:Pointcut的一部分,检查目标方法是否和advice是相匹配的
- Advisor:Advisor接口,持有一个Advice
- PointcutAdvisor:在Advisor接口的基础上持有了一个Pointcut
从整个类图我们也可以看出来Advice,Pointcut以及Advisor之间的关系