反射_动态代理的概述和实现
来源:互联网 发布:linux posix 编辑:程序博客网 时间:2024/05/17 00:56
package cn.itcast_06;import java.lang.reflect.Proxy;public class Test {public static void main(String[] args) {UserDao ud = new UserDaoImpl();ud.add();ud.delete();ud.update();ud.find();System.out.println("--------------");// 我要创建一个动态代理对象// Proxy类中有一个方法可以创建动态代理对象// public static Object newProxyInstance(ClassLoader loader, Class<?>[]// interfaces,InvocationHandler h)// proxy: 指代我们所代理的那个真实对象// method: 指代的是我们所要调用真实对象的某个方法的Method对象// args: 指代的是调用真实对象某个方法时接受的参数// 我准备对ud对象做一个代理MyInvocationHandler handler = new MyInvocationHandler(ud);UserDao proxy = (UserDao) Proxy.newProxyInstance(ud.getClass().getClassLoader(), ud.getClass().getInterfaces(), handler);proxy.add();proxy.delete();proxy.update();proxy.find();System.out.println("--------------");StudentDao sd = new StudentDaoImpl();MyInvocationHandler handler2 = new MyInvocationHandler(sd);StudentDao proxy2 = (StudentDao) Proxy.newProxyInstance(sd.getClass().getClassLoader(), sd.getClass().getInterfaces(), handler2);proxy2.login();proxy2.regist();}}
解惑:
给的接口里面有哪些方法,生成的代理里面就有哪些方法。classs $Proxy4 implments UserDao{save(User u){Method m = UserDao.getClass.getMethod();li.invoke(this,m,u);}}
package cn.itcast_06;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;public class MyInvocationHandler implements InvocationHandler {private Object target;// 目标对象public MyInvocationHandler(Object target) {this.target = target;}@Overridepublic Object invoke(Object proxy, Method method, Object[] args)throws Throwable {System.out.println("权限校验");Object result = method.invoke(target, args);System.out.println("日志记录");return result;// 返回的是代理对象}}
0 0
- 反射_动态代理的概述和实现
- 反射-动态代理的概述和实现
- 反射之动态代理的概述和实现
- 反射和动态代理的实现原理
- java的反射实现动态代理类
- 反射和动态代理
- 反射和动态代理
- java的动态代理和反射
- JAVA的反射机制和动态代理
- JAVA的反射机制和动态代理
- 反射和动态代理的区别
- java反射和动态代理的理解
- 反射的动态代理
- 反射实现AOP动态代理
- 利用反射实现动态代理
- java反射实现动态代理
- 黑马程序员-反射机制_动态代理
- AOP实现原理(动态代理和反射技术)
- 关于parent()、parents()和closest()的区别
- 线段树联系2
- Android基础知识--TextView
- 筛选法求100以内的素数
- BZOJ4330: JSOI2012 爱之项链
- 反射_动态代理的概述和实现
- Zookeeper在kafka中的应用
- ACM模板直通车
- Java小白攻略-从class到testng
- jquery遍历解析json数组
- NYOJ 走迷宫(SPFA)
- 对象、构造函数和prototype
- MyBatis中#{}和${}的不同和${}的妙用
- 简单的网络爬虫的python实现