java 動態代理簡單使用
//---------------介面 package reflect_test; public interface Animals { public String scrime(String str); } // --------------類 package reflect_test; public class Dog implements Animals { private int age =100; private String xstr="test..."; public int page = 100000; private Dog(String xstr) { this.xstr = xstr; } public Dog() { } public Dog(int age) { this.age = age; } @Override public String scrime(String str) { return str; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } private int getAddAge() { return age+=10; } public void getXstr() { System.out.println(xstr); } } -------------代理類 package reflect_test; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import org.junit.Before; import org.junit.Test; public class ProxyTest { @Test public void testProxy() throws Exception { Class<?> clazz = Class.forName("reflect_test.Dog"); Class<?>[] interfa = {Class.forName("reflect_test.Animals")}; Animals am = (Animals)Proxy.newProxyInstance(clazz.getClassLoader(), interfa, new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { String str = (String)method.invoke(new Dog(), args); return str + "\n append by proxy !"; } }); System.out.println(am.scrime("normal scriming.....")); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31506529/viewspace-2200330/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 動態代理竟然如此簡單!
- java動態代理如何使用Java
- 模擬簡單的動態代理
- JAVA 靜態代理 & 動態代理Java
- Java代理(jdk靜態代理、動態代理和cglib動態代理)JavaJDKCGLib
- 使用Netty和動態代理實現一個簡單的RPCNettyRPC
- java動態代理Java
- Java 靜態代理和動態代理的使用及原理解析Java
- java動態代理動態在哪裡?Java
- java動態代理(1)Java
- Java動態代理(AOP)Java
- Java 動態代理newProxyInstanceJava
- Java中的靜態代理和動態代理Java
- 輕鬆理解 Java 靜態代理/動態代理Java
- Java進階--Java動態代理Java
- Java基礎系列-靜態代理和動態代理Java
- 動態代理及java演示Java
- java 反射和動態代理Java反射
- Java架構-Java JDK 動態代理Java架構JDK
- 讓我們打一場動態代理的官司–Java動態代理Java
- Java動態代理(JDK和cglib)JavaJDKCGLib
- java | 什麼是動態代理?Java
- java執行原理、靜態代理和動態代理區分Java
- Java動態代理和反射機制Java反射
- 不學無數——Java動態代理Java
- Java-JDK動態代理(AOP)使用及實現原理分析JavaJDK
- Spring動態代理的生成-如何判斷是使用JDK動態代理還是CGlib代理SpringJDKCGLib
- 代理模式詳解:靜態代理、JDK動態代理與Cglib動態代理模式JDKCGLib
- 使用java動態位元組碼技術簡單實現arthas的trace功能。Java
- 靜態代理和動態代理
- Java代理之靜態代理Java
- 代理模式 - 動態代理模式
- java 反射簡單使用Java反射
- 深入理解 Java 反射和動態代理Java反射
- Java動態代理與靜態代理以及它能為我們做什麼Java
- 動態代理
- Java靜態代理Java
- Python代理IP爬蟲的簡單使用Python爬蟲