java动态代理--代理接口无实现类
来源:互联网 发布:head first java 目录 编辑:程序博客网 时间:2024/05/22 15:50
使用通过接口定义,或解析接口注解等完成相关功能,如mybatis的SqlSession.getMapper的实现
- 接口定义
package cn.proxy; public interface IHello { String say(String aa); }
- 代理实现
package cn.proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** JDK动态代理代理类 */ @SuppressWarnings("unchecked") public class FacadeProxy implements InvocationHandler { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("接口方法调用开始"); //执行方法 System.out.println("method toGenericString:"+method.toGenericString()); System.out.println("method name:"+method.getName()); System.out.println("method args:"+(String)args[0]); System.out.println("接口方法调用结束"); return "调用返回值"; } public static <T> T newMapperProxy(Class<T> mapperInterface) { ClassLoader classLoader = mapperInterface.getClassLoader(); Class<?>[] interfaces = new Class[]{mapperInterface}; FacadeProxy proxy = new FacadeProxy(); return (T) Proxy.newProxyInstance(classLoader, interfaces, proxy); } }
- 运行
package cn.proxy; public class Test { public static void main(String[] args) { IHello hello = FacadeProxy.newMapperProxy(IHello.class); System.out.println(hello.say("hello world")); } }
- 运行结果
接口方法调用开始 method toGenericString:public abstract java.lang.String cn.proxy.IHello.say(java.lang.String) method name:say method args:hello world 接口方法调用结束 调用返回值
转载于http://blog.csdn.net/zhu_tianwei/article/details/40076391
1 0
- java动态代理--代理接口无实现类
- java动态代理--代理接口无实现类
- java动态代理--代理接口无实现类
- Java动态代理实现接口方法
- Java动态代理实现接口invocationHandler
- java中动态代理模实现接口
- java [ 静态(接口)代理 ,动态(接口)代理,CglibProxy动态(实体类)代理]
- Java动态代理实现
- Java动态代理实现
- JAVA动态代理实现
- Java 动态代理实现
- Java动态代理实现
- Java动态代理实现
- Java动态代理实现
- Java动态代理实现
- Java动态代理实现
- Java动态代理实现
- Java动态代理实现
- LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Gradle修改Maven仓库地址
- ASP.NET MVC的常用数据库查询和提取模式
- 复习并查集(hihocoder1066)
- c++知识点整理(下)
- java动态代理--代理接口无实现类
- 《机器学习有意思! 02》- 使用机器学习生成超级玛丽关卡
- 小镇起家
- 链式队列
- android 官文摘要
- 2016年上半年信息系统项目管理师真题之上午题小虎趣味解答第36-40题
- 设备驱动模型之class
- java之static 和 final
- shell 一键安装 mysql、nginx、lrzsz、jdk1.8、ss 多功能脚本