动态代理 简单实例二
2013-12-20 01:08
288 查看
public interface SomeMethods { void boring1(); void boring2(); void interesting(String arg); void boring3(); }
public class Implementation implements SomeMethods { public void boring1() { System.out.println("boring1"); } public void boring2() { System.out.println("boring2"); } public void boring3() { System.out.println("boring3"); } public void interesting(String arg) { System.out.println("interesting("+arg+")"); } }
public class MethodSelector implements InvocationHandler { private Object proxied; public MethodSelector(Object proxied) { this.proxied = proxied; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if(method.getName().equals("interesting")){ System.out.println("Proxy detected the interesting method"); } return method.invoke(this.proxied, args); } }
public class SelectingMethods { public static void main(String[] args) { SomeMethods proxy = (SomeMethods)Proxy.newProxyInstance (SomeMethods.class.getClassLoader(), new Class[]{SomeMethods.class}, new MethodSelector( new Implementation() )); proxy.boring1(); proxy.boring2(); proxy.boring3(); proxy.interesting("bonobo"); } }
相关文章推荐
- 简单动态代理实例(使用cglib)
- 最简单的动态代理实例(spring基于接口代理的AOP原理)
- Java动态代理简单实例:老板与秘书
- 一个简单 JDK 动态代理的实例
- java动态代理简单实例
- Java动态代理分析及简单实例
- 动态代理简单实例
- java动态代理简单实例
- 最简单的动态代理实例(spring基于接口代理的AOP原理)
- java动态代理【简单实例】
- cblib实现JDK动态代理的简单实例
- 简单动态代理实例(使用jdk的proxy)
- java动态代理简单实例
- 动态代理的简单实例.
- java动态代理简单实例。
- jdk动态代理如此简单
- Jdk动态代理简单实现
- textarea动态增加高度(自适应高度)简单实例
- Java反射之静态加载和动态加载的简单实例
- 黑马程序员_Java反射-简单动态代理