1.理解
(1)调用java.lang.reflect.Proxy返回一个代理对象,使用这个代理对象执行你的方法时,它会先执行代理对象里的方法再执行你的业务方法。 这像什么?就是Spring AOP切面编程。
(2)利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称“动态代理类”)及其实例(对象),代理的是接口(Interfaces),不是类(Class),更不是抽象类。
2.优点
简单地指定一组接口及目标类对象就能动态的获得代理对象。
3. 实现方式
******************************
(1) 出了异常,根据堆栈信息,栈顶的就是最后的调用的信息,每一步都是调用的过程
(2)还是根据堆栈来定位问题
4. 应用:AOP
spring的aop的实现就是根据的动态代理,用aop来开发不需要手动的再实现invocationHandler的方法的实现,而是直接指定了切入点,然后直接写@aspect的方法就可以直接在spring中进行拦截,然后进行代理。