这篇文章将为大家详细讲解有关深入浅析java 中的jdk与cglib动态代理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java 动态代理实例详解1.jdk动态代理 package com
这篇文章将为大家详细讲解有关深入浅析java 中的jdk与cglib动态代理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
java 动态代理实例详解
1.jdk动态代理
package com.sinosoft; public interface Apple { public void phoneCall(); } package com.sinosoft; public class AppleImpl implements Apple { @Override public void phoneCall() { System.out.println("打电话"); } } package com.sinosoft; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; public class DynamicProxy implements InvocationHandler{ private Object object; public DynamicProxy(Object object) { this.object=object; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object result = method.invoke(object, args); return result; } } package com.sinosoft; import java.lang.reflect.Proxy; public class testDynamicProxy { public static void main(String[] args) { //1.创建接口的实现类 Apple tApple = new AppleImpl(); //2.动态代理类 DynamicProxy tDynamicProxy = new DynamicProxy(tApple); ClassLoader tClassLoader = tApple.getClass().getClassLoader(); // 创建动态代理的对象,需要借助Proxy.newProxyInstance。该方法的三个参数分别是: // ClassLoader loader表示当前使用到的appClassloader。 // Class<?>[] interfaces表示目标对象实现的一组接口。 // InvocationHandler h表示当前的InvocationHandler实现实例对象。 Apple apple = (Apple) Proxy.newProxyInstance(tClassLoader, new Class[] { Apple.class }, tDynamicProxy); apple.phoneCall(); } }
--结束END--
本文标题: 深入浅析java 中的JDK与cglib动态代理
本文链接: https://www.lsjlt.com/news/226725.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-13
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0