1、AOP底层使用动态代理
    ①有两种情况的动态代理

    第一种:有接口的情况,使用JDK动态代理
    #创建接口实现类的代理对象,增强类的方法
    image.png

    第二种:没有接口的情况,使用CGLIB动态代理
    #创建子类的代理对象,增强类的方法
    image.png