Scripts 学盟
标题:
[视频]菜鸟学JDK动态代理
[打印本页]
作者:
混混@普宁.中国
时间:
2011-6-6 23:21:10
标题:
[视频]菜鸟学JDK动态代理
新手同学们来一起学习学习!
视频下载地址:
http://u.115.com/file/dnhblze8
或者
http://www.gokuai.com/f/4Y6V2799JeHq7MFD
public static Connection getConnection() throws SQLException, ClassNotFoundException {
Connection conn = newConnection();
// proxy 中可以统一对所有成员方法进行拦截
Connection proxy = newProxyConnection(conn);
return proxy;
}
public static Connection newProxyConnection(Connection conn) {
Handler handler = new Handler(conn);
Class<?>[] interfaces = new Class<?>[] {
Connection.class
};
// 动态创建 实现了某些接口 的实例
Object object = Proxy.newProxyInstance(
Connection.class.getClassLoader()
, interfaces
, handler
);
return (Connection) object;
}
复制代码
package org.iscripts.proxy;
import java.lang.reflect.Method;
import java.sql.Connection;
public class Handler implements java.lang.reflect.InvocationHandler {
private Connection conn ;
public Handler(Connection conn) {
this.conn = conn;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object result = null;
// 很方便对 代理对象的所有成员方法,进行统一拦截
if (method.getName().equals("close")) {
System.out.println("close 方法不允许调用!");
} else {
result = method.invoke(conn, args);
System.out.println(method.getName() + " 方法己被调用!");
}
return result;
}
}
复制代码
作者:
那个谁
时间:
2011-6-7 09:13:27
混混厉害。。
作者:
莺子
时间:
2011-6-7 10:15:05
不厉害就不叫混混了
作者:
fenfen
时间:
2011-6-7 13:45:28
我刚好需要看这个、、、(*^__^*) 嘻嘻……
欢迎光临 Scripts 学盟 (http://www.iscripts.org/)
Powered by Discuz! X2