1.1了解AOP
Spring AOP的实现是基于Java的代理机制,从JDK1.3开始就支持代理功能。但是性能成为一个很大的问题,为了解决JDK代理性能问题,出现了CGLIB代理机制。它可以生成字节码,所以它的性能会高于JDK代理。Spring支持着两种代理方式。但是随着JVM(Java虚拟机)性能的不断提高,这两种代理性能的差距会越来越小。
Spring AOP术语:
切面:切面是对象操作过程中的切面。
连接点:对象操作中的某个阶段点。
切入点:切入点是连接点的集合。
通知:通知是某个切入点被横截后,所采取的处理逻辑。也就是说在“切入点”处拦截程序后,通过通知来执行切面。
目标对象:所有被通知的对象(也可以理解为被代理的对象)都是目标对象。
织入:织入是将切面功能应用到目标对象的过程。
引入:对一个已编译完类(class),在运行时期,动态的向这个类里加载属性和方法。
2.1 静态切入点与动态切入点
- 静态切入点
静态往往意味着不变,例如一个对象的方法签名是固定不变的,无论在程序的任何位置调用,方法名都不会改变。静态切入点可以为对象的方法签名。</