java动态代理
来源:互联网 发布:镜花缘传奇知乎 编辑:程序博客网 时间:2024/06/05 04:22
User.java
public class User {private String name;private int age;private int id;@Overridepublic String toString() {return "{"+name+" , "+age+" , "+id+"}";}public User(String name, int age, int id) {super();this.name = name;this.age = age;this.id = id;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
UserManager.java
public interface UserManager {public void addUser(User user);public void delUser(User user);public void queryUserByID(int id);}
UserManagerImpl.java
public class UserManagerImpl implements UserManager {@Overridepublic void addUser(User user) {System.out.println("UserManagerImpl.addUser--->>name="+user.getName());}@Overridepublic void delUser(User user) {System.out.println("UserManagerImpl.delUser--->>name="+user.getName());}@Overridepublic void queryUserByID(int id) {System.out.println("UserManagerImpl.id--->>id="+id);}}
ProxyTest.java
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class ProxyTest implements InvocationHandler {Object target;public Object proxyObject(Object target) {this.target = target;return Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this);}@Overridepublic Object invoke(Object proxy, Method method, Object[] args)throws Throwable {Object ret = null;System.out.println(method.getName());for(int i=0;i<args.length;i++){System.out.println(args[i]);}//执行方法并返回方法的返回值没有则返回nullret = method.invoke(target, args);return ret;}}
Client.java
public class Client {public static void main(String[] args) {User user = new User("小明", 22, 1);UserManager userManager = (UserManager) new ProxyTest().proxyObject(new UserManagerImpl());userManager.delUser(user);}}
执行结果:
delUser
{小明 , 22 , 1}
UserManagerImpl.delUser--->>name=小明
- Java 代理,动态代理
- [Java] Java 动态代理
- java代理及动态代理
- java代理模式--动态代理
- Java静态代理、动态代理
- Java 代理之 动态代理
- Java 代理与动态代理
- java静态代理,动态代理
- 代理模式&java动态代理
- Java代理与动态代理
- Java静态代理动态代理
- JAVA代理模式--动态代理
- java 代理和动态代理
- JAVA动态代理 代理模式
- Java动态代理--jdk代理
- Java动态代理--cglib代理
- Java 代理与动态代理
- java代理模式-动态代理
- 草稿
- C# Hide() 隐藏当前窗体
- LInux监听某个接口进程数
- @property理解
- 使用xcode4.2检测内存泄露leak的具体位置的两种方法总结 .
- java动态代理
- htons函数详解
- 请阐述您对CoreData的理解
- 响应式设计(Response Web Design)浅谈
- 单例模式-分析
- Veritas storage foundation 拓容
- OS已发布应用中对异常信息捕获和处理
- java学习应用相关的网站收集
- 无线路由器会间隔性断网