1.AOP底层使用动态代理
(1)有两种情况动态代理
第一种: 有接口,使用JDK动态代理
*创建接口实现类的代理对象,增强类的方法
代理对象 :能与接口对象实现相同功能
第二种: 没有接口,使用CGLIB动态代理
*创建子类的代理对象,增强类的方法