JDK动态代理简单小程序 (二)

2014-11-24 10:38:28 · 作者: · 浏览: 5
代理对象都实现类哪些接口,进行代理的类)
UserDao userDaoProxy = (UserDao) Proxy.newProxyInstance(userDao.getClass().getClassLoader(),new Class[]{UserDao.class}, logInterceptor);
userDaoProxy.addUser();
userDaoProxy.delete();
}
注:new Class[]{UserDao.class} 和 UserDao.getClass().getInterfaces()是一样的,前者是数组,肯定定义多个接口,后者是定义一个接口

UserDao和UsreDaoImpl中就是放了两个方法,分别为addUser(),delete()

UserDao接口
public interface UserDao {
public void addUser();
public void delete();
}

UserDaoImpl类
public class UserDaoImpl implements UserDao {
@Override
public void addUser() {
// TODO Auto-generated method stub
System.out.println("添加啦=======");
}
@Override
public void delete() {
// TODO Auto-generated method stub
System.out.println("删除操作==");
}
}

Junit测试的结果为:
拦截的功能
添加啦=======
拦截的功能
删除操作==
[java]

[java]

[java] 我们可以看到 我们在每一个调用的方法钱都加上了想要添加的方法

我们可以看到 我们在每一个调用的方法钱都加上了想要添加的方法