先从AOP的一些基本概念说起:
1、Joinpoint :个人理解为横切逻辑织入点。程序执行过程中的任何时点都可以作为横切逻辑的织入点,而所有的执行点都是Joinpoint。
较为常见的Joinpoint类型如下:
方法调用(Method Call)、方法调用执行(Method Call execution)、构造方法调用(Constructor Call)、字段设置(Feild Set)、字段获取(Feild Get)、异常处理执行(Exception Handler Execution)、类的初始化(Class initialzation)。
2、Pointcut:在Spring Framework开发手册中是这样定义的,‘匹配连接点(Joinpoint)的断言,通知和一个切入点表达式关联,并满足这个切入点的连接点上运行’。Pointcut是Joinpoint的具体的体现,将相应的横切逻辑与Joinpoint相关联。
3、Advice是单一横切关注点逻辑的载体,它代表将会织入到Joinpoint的横切逻辑。Advice分为如下几种:
1.Before Advice是指在Joinpoint指定位置之前执行的Advice类型。
2.After Advice是指在相应的连接点之后执行的Advice类型,After Advice又分为三种:After returning Advice、After throwing Advice、After (Finally) Advice.
3.Around Advice:在Spring Framework开发手册中是这样定义的,’环绕通知在一个方法执行之前和之后执行,它使得通知有机会即在方法执行之前又在方法执行之后运行,并且它可以决定这个方法在什么时候执行,如何执行,甚至是否执行‘
4.Introduction:引入。
-- 摘录与总结,有时间定会完善