反射-动态代理设计模式
2017-10-02 11:05
579 查看
不理解动态代理的两句代码:
Proxy.newProxyInstance(subject.getClass().getClassLoader(),
subject.getClass().getInterfaces(),proxy);
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {}
Proxy.newProxyInstance(subject.getClass().getClassLoader(),
subject.getClass().getInterfaces(),proxy);
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {}
package 动态代理设计模式; import java.lang.reflect.Proxy; public class mainTest { public static void main(String[] args) { Subject subject=new SuperMan(); 动态代理设计模式.Proxy proxy=new 动态代理设计模式.Proxy(subject); //动态创建一个代理对象(类加载器) Subject s=(Subject) Proxy.newProxyInstance(subject.getClass().getClassLoader(), subject.getClass().getInterfaces(),proxy); s.shopping(); } }
package 动态代理设计模式; public interface Subject { public void shopping(); }
package 动态代理设计模式; public class SuperMan implements Subject{ @Override public void shopping() { // TODO Auto-generated method stub System.out.println("给媳妇买化妆品!"); } }
package 动态代理设计模式; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; //代理类 public class Proxy implements InvocationHandler { private Subject target; public Proxy(Subject target) { this.target=target; } @Override//参数(代理类,被代理的方法,被代理的方法的参数组) public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("做大量的商品专业评估"); method.invoke(target, args);//被代理人真正的业务 //代购之后要做的事情 System.out.println("代购之后的客户满意度调查"); return null; } }
相关文章推荐
- Java的反射,动态代理,模版设计模式,
- 15. JAVA 反射机制 Part 2(动态代理、类的生命周期、工厂设计模式) ----- 学习笔记
- Java基础 - 类的加载,类加载器,反射,动态代理,模板设计模式,JDK5新特性,枚举(类),JDK1.7新特性
- 27 API-反射(类的加载器,反射的使用,动态代理)&设计模式(装饰设计模式,模版设计模式)&JDK新特性(JDK5,JDK6,JDK7,DK8)
- 设计模式的应用-动态代理实现事务控制
- (GOF23设计模式)_代理模式_动态代理
- 反射实现 AOP 动态代理模式(Spring AOP 的实现 原理)
- Java设计模式之代理模式(动态代理)
- Java设计模式(四)之动态代理模式
- 反射实现 AOP 动态代理模式
- GOF23设计模式之动态代理模式之理解
- 反射实现 AOP 动态代理模式(Spring AOP 的实现 原理)
- JAVA设计模式-11-代理模式(动态)(一)
- java____设计模式之动态代理模式
- Java设计模式Proxy之动态代理
- SpringBoot 使用@Aspect进行日志管理(基于反射代理模式+动态修改注解Log)
- JAVA 设计模式:静态代理VS动态代理
- 设计模式之 动态代理
- 设计模式之动态代理 jdk实现
- 深度解析JAVA动态代理设计模式