设为首页收藏本站

Scripts 学盟

 找回密码
 加入学盟

QQ登录

只需一步,快速开始

查看: 2156|回复: 3
打印 上一主题 下一主题

[视频]菜鸟学JDK动态代理 [复制链接]

管理员

超级大菜鸟

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
新手同学们来一起学习学习!

视频下载地址:
http://u.115.com/file/dnhblze8
或者
http://www.gokuai.com/f/4Y6V2799JeHq7MFD
  1. public static Connection getConnection() throws SQLException, ClassNotFoundException {
  2.         Connection conn = newConnection();
  3.         // proxy 中可以统一对所有成员方法进行拦截
  4.         Connection proxy = newProxyConnection(conn);
  5.         return proxy;
  6. }

  7. public static Connection newProxyConnection(Connection conn) {
  8.         Handler handler = new Handler(conn);
  9.         Class<?>[]  interfaces = new Class<?>[] {
  10.                 Connection.class
  11.         };
  12.         // 动态创建  实现了某些接口  的实例
  13.         Object object = Proxy.newProxyInstance(
  14.                   Connection.class.getClassLoader()
  15.                 , interfaces
  16.                 , handler
  17.         );
  18.         return (Connection) object;
  19. }
复制代码
  1. package org.iscripts.proxy;

  2. import java.lang.reflect.Method;
  3. import java.sql.Connection;

  4. public class Handler implements java.lang.reflect.InvocationHandler {
  5.         private Connection conn ;
  6.        
  7.         public Handler(Connection conn) {
  8.                 this.conn = conn;
  9.         }
  10.        
  11.         @Override
  12.         public Object invoke(Object proxy, Method method, Object[] args)
  13.                         throws Throwable {
  14.                 Object result = null;
  15.                
  16.                 // 很方便对  代理对象的所有成员方法,进行统一拦截
  17.                 if (method.getName().equals("close")) {
  18.                         System.out.println("close 方法不允许调用!");
  19.                 } else {
  20.                         result = method.invoke(conn, args);
  21.                         System.out.println(method.getName() + " 方法己被调用!");
  22.                 }
  23.                
  24.                 return result;
  25.         }
  26. }
复制代码
1

查看全部评分

分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0

Rank: 8Rank: 8

2#
那个谁 发表于 2011-6-7 09:13:27 |只看该作者
混混厉害。。

使用道具 举报

Rank: 9Rank: 9Rank: 9

3#
莺子 发表于 2011-6-7 10:15:05 |只看该作者
不厉害就不叫混混了

使用道具 举报

Rank: 3Rank: 3

4#
fenfen 发表于 2011-6-7 13:45:28 |只看该作者
我刚好需要看这个、、、(*^__^*) 嘻嘻……
最爱学盟……

使用道具 举报

您需要登录后才可以回帖 登录 | 加入学盟

手机版|Scripts 学盟   |

GMT+8, 2024-5-5 19:30 , Processed in 1.067411 second(s), 14 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部