了解AOP,Spring AOP的实现是基于Java的代理机制。从JDK1.3开始就支持代理功能,但是性能成为一个很大问题。为了解决JDK代理性能问题,出现了CGLIB代理机制。它可以生成字节码,所以它的性能会高于JDK代理。Spring支持这两种代理方式。随着JVM(Java虚拟机)性能的不断提高,这两种代理性能的差距会越来越小。在学习Spring AOP之前,首先对它的一些术语做一个了解,下面将介绍Spring AOP术语:

  1. 切面:对象操作过程中的截面。
  2. 连接点:对象操作过程中的某个阶段点。
  3. 切入点:连接点的集合。
  4. 通知:某个切入点被横切后,所采取的处理逻辑。
  5. 目标对象:所有被通知的对象(也可以理解为被代理的对象)。
  6. 织入:将切面功能应用到目标对象的过程。
  7. 对一个已编译完的类,在运行时动态地向这个类里加载属性和方法。