动态代理入门

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34123420/article/details/52204796

动态代理

1 只学一个方法

方法的作用:在运行时,动态实现一组指定的接口的实现类对象(在运行时,创建了指定的一组接口的对象)

Proxy.newProxyInstance(Classloader classLoader,Class[] interfaces,InvocationHandler h)

1 方法作用,动态创建实现了interfaces数组中所有指定接口的实现类对象

参数:

ClassLoader:类加载器

它是用来加载器的,把.class文件加载到内存,形成Class对象

class[] interfaces :指定要实现的接口

InvocationHandler :代理对象的大部分方法都会调用InvocationHandler 的invoke()方法

2 动态代理作用

最终是学习AOP(面向切面编程),它与装饰者模式相似,它比装饰者模式灵活

InvocationHandler  

public Object invoke(Object proxy.Method method,Object[] args);

 在调用对象所实现接口中的方法时调用

Object proxy : 当前对象,即代理对象,在调用谁的方法

.Method method : 当前被调用的方法

Object[] args:实参

目标对象

代理对象

目标方法

代理对象 = 目标对象 + 增强

阅读更多

没有更多推荐了,返回首页