好贷网好贷款

java jdk动态代理 实例 简单明了 对初学者非常有效

发布时间:2016-12-3 23:49:59 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"java jdk动态代理 实例 简单明了 对初学者非常有效",主要涉及到java jdk动态代理 实例 简单明了 对初学者非常有效方面的内容,对于java jdk动态代理 实例 简单明了 对初学者非常有效感兴趣的同学可以参考一下。

注意:JDK的动态代理依靠接口实现 实例如下: package com.jdkproxy; /**  * 1、定义一个图书接口  */ public interface Book { //添加图书方法 public void addBook(String s); } 2、定义一个类实现了Book接口 package com.jdkproxy; public class BookImpl implements Book{ @Override public void addBook(String s) { System.out.println(s+"增加图书的方法......."); } } 3、定义一个动态代理类 package com.jdkproxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class BookProxy implements InvocationHandler{ private Object target; public Object bind(Object target){ this.target=target; return Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this); } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object result=null; System.out.println("事物开始....."); result=method.invoke(target, args); System.out.println("事物结束....."); return result; } } 4、定义一个测试类 package com.jdkproxy; public class TestJdkProxy { /** * main函数测试 * JDK的动态代理依靠接口实现,如果有些类并没有实现接口, * 则不能使用JDK代理,这就要使用cglib动态代理了。 */ public static void main(String[] args) { BookProxy bookProxy=new BookProxy(); BookImpl bookImpl=new BookImpl(); //BookImpl proxy=(BookImpl) bookProxy.bind(bookImpl); Book proxy=(Book) bookProxy.bind(bookImpl);//代理类和委托类进行绑定 proxy.addBook("****"); } }

上一篇:Surround the Trees
下一篇:3分钟左右的时间如何向MySQL数据库中插入100万条数据

相关文章

相关评论