jdk 动态代理
来源:互联网 发布:泉州旅游数据分析 编辑:程序博客网 时间:2024/06/18 11:48
看一个动态代理的例子
接口:
public interface Hello { void sayHello(String name);}
实现:
public class HelloServiceImpl implements Hello { @Override public void sayHello(String name) { System.out.println(" hello :" + name); }}
代理类:
public class DynamicProxy implements InvocationHandler { private Object target; public DynamicProxy(Object target) { this.target = target; } public <T> T getProxy() { return (T) Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this); } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { return method.invoke(target.getClass().newInstance(), args); }}
调用:
public class ProxyDemo { public static void main(String[] args) { Hello hello = new DynamicProxy(new HelloServiceImpl()).getProxy(); hello.sayHello("peanut"); }}
具体的代码实现主要是 Proxy.newProxyInstance方法,该方法传递三个参数
ClassLoader loader
加载这个代理类的类加载器。Class<?>[] interfaces
要实现代理的代理对象接口数组InvocationHandler h
动态代理调用的方法
0 0
- 代理模式,JDK动态代理
- Java动态代理--jdk代理
- 代理模式-JDK动态代理
- JDK中的动态代理
- JDK动态代理
- JDK动态代理
- JDK动态代理
- jdk动态代理(暂)
- JDK动态代理
- JDK动态代理实例
- jdk 动态代理
- JDK动态代理
- JDK动态代理说明
- jdk动态代理
- JDKDynamicProxy JDK动态代理
- JDK动态代理实现
- JDK 动态代理
- JDK动态代理
- UICollectionView原理
- Android 之 NumberProgressBar
- 每天一个linux命令(10):cat 命令
- mybatis—简单的sql总结
- EL表达式 (详解)
- jdk 动态代理
- BZOJ 2038 莫队算法
- 编译链接的时候 有动态库和静态库 怎么指定她连静态库来着[不要连动态库]
- SpringMVC的各种参数绑定方式
- iOS vDSP中的单矢量填充和清除
- 总结系列--AndroidManifest.xml文件详解
- JAVA中的反射
- linuxrc
- thinkphp页面时间格式化