手机
当前位置:查字典教程网 >编程开发 >Java >java实现动态代理示例分享
java实现动态代理示例分享
摘要:复制代码代码如下:importjava.lang.reflect.InvocationHandler;importjava.lang.ref...

复制代码 代码如下:

import java.lang.reflect.InvocationHandler;

import java.lang.reflect.Method;

import java.lang.reflect.Proxy;

public class LogHandler implements InvocationHandler {

private Object delegate;

public Object bind(Object delegate) {

this.delegate = delegate;

return Proxy.newProxyInstance(delegate.getClass().getClassLoader(),

delegate.getClass().getInterfaces(), this);

}

@Override

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

throws Throwable {

Object result = null;

try {

System.out.println("方法开始:" + method);

result = method.invoke(delegate, args);

System.out.println("方法结束:" + method);

} catch (Exception e) {

e.printStackTrace();

}

return result;

}

}

复制代码 代码如下:

public interface Animal {

public void hello();

}

动态代理作为代理模式的一种扩展形式,广泛应用于框架(尤其是基于AOP的框架)的设计与开发,本文将通过实例来讲解Java动态代理的实现过程。

复制代码 代码如下:

public class Monkey implements Animal {

@Override

public void hello() {

// TODO Auto-generated method stub

System.out.println("hello");

}

}

复制代码 代码如下:

public class Main {

public static void main(String[] args) {

LogHandler logHandler = new LogHandler();

Animal animal = (Animal) logHandler.bind(new Monkey());

animal.hello();

}

}

java实现动态代理示例分享1

【java实现动态代理示例分享】相关文章:

java操作mongodb实现CURD功能实例

java裁剪图片并保存的示例分享

java实现遗传算法实例分享(打印城市信息)

java日期工具类实例分享

java实现哈弗曼编码与反编码实例分享(哈弗曼算法)

java实现ip地址与十进制数相互转换

redis实现多进程数据同步工具代码分享

java list用法示例详解

java 静态代理 动态代理深入学习

java集合求和最大值最小值示例分享

精品推荐
分类导航