1、Aop的理解
Aop是Spring的两大核心概念之一
Aop就是在不改变源码的情况下添加新的属性和方法
2、Aop的概述
Aop是一种不同于oop(面向对象编程)的编程模式,它不是oop的替代,而是对oop的一种有益的补充
引入Aop后,可以把服务逻辑收集,设计成各个独立可用的切面,在需要该服务的业务逻辑上织入即可。
3、要理解AOP,必须理解AOP术语:
1)、切面(Aspect):业务系统中的服务逻辑或通用功能,将这些设计成各个独立可从用的对象,这些对象被称为Aspect
2)、通知(advice):切面的具体实现。通知有各种类型,包括:前置通知(Before)、后置通知(AfterReturn)、异常通知(AfterThrowing)、最终通知(After)、环绕通知(Around)
3)、连接点(joinPoint):在应用程序执行过程中可以插入通知的点或时机称为连接点
4)、切入点(pointcut):定义了需要织入通知的连接点
5)、目标对象(tArget object):被一个或多个切面所通知的对象
6)、代理(proxy):代理是将通知应用到目标对象后创建的对象
7)、织入(weaving):把切面应用到目标对象来创建新的代理对象的过程
编译器:切面在目标对象编译时织入(需要特殊的编译器)
类装载期:切面在目标对象被载入到jvm时织入
运行期:切面在应用系统运行时织入
注:Spring是在运行时完成织入的