spring的ioc和aop详解

ioc

aop

Spring AOP全称为Spring Aspect-Oriented Programming,即面向切面编程,是运行时织入的,那么运行时织入到底是怎么实现的呢?答案就是代理对象。代理对象又可以分为静态代理和动态代理。

静态代理
动态代理
  • JDK代理模式
      JDK动态代理主要涉及java.lang.reflect包下的两个类:
      Proxy类和InvocationHandler接口。
    JDK代理实现的三个要点:

① 通过Java.lang.reflect.Proxy类来动态生成代理类;

② 代理类要实现InvocationHandler接口;

③ JDK代理只能基于接口进行动态代理的;

  • cglib代理

CGLib采用非常底层的字节码技术,可以为一个类创建子类,并在子类中采用方法去技术拦截所有的父类方法的调用,并顺势织入横切逻辑。

CGLib和JDK的原理类似,也是通过方法去反射调用目标对象的方法。

Guess you like

Origin blog.csdn.net/Nick_zcy/article/details/115545782