动态代理实现
来源:互联网 发布:2017淘宝可以买彩票吗 编辑:程序博客网 时间:2024/06/05 14:16
接口类
package com.bjpowernode.spring;public interface UserManager {public void addUser(String username,String password);public void delUser(String userId);public String findUserById(int userID);public void modifyUser(int userId,String username,String password);}
实现类
package com.bjpowernode.spring;public class UserManagerImpl implements UserManager {@Overridepublic void addUser(String username, String password) {System.out.println("addUser");}@Overridepublic void delUser(String userId) {System.out.println("delUser");}@Overridepublic String findUserById(int userID) {System.out.println("findUserById");return "张三";}@Overridepublic void modifyUser(int userId, String username, String password) {System.out.println("modifyUser");}//private void checkSecurity(){//System.out.println("checkSecurity");//}}
代理类
package com.bjpowernode.spring;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class SecurityHandler implements InvocationHandler {private Object targetObject;public Object createProxyInstance(Object targetObject){this.targetObject = targetObject;return Proxy.newProxyInstance(targetObject.getClass().getClassLoader(), targetObject.getClass().getInterfaces(), this);};@Overridepublic Object invoke(Object proxy, Method method, Object[] args)throws Throwable {checkSecurity();//调用目标方法 Object ret = method.invoke(targetObject, args);return ret;}private void checkSecurity() {System.out.println("checkSecurity");}}
客户端
package com.bjpowernode.spring;public class Client {public static void main(String[] args) {SecurityHandler hander = new SecurityHandler();UserManager useraManager = (UserManager) hander.createProxyInstance(new UserManagerImpl());useraManager.addUser("张三","123");}}
————————————————————————大道至简————————————————————————
————————————————————————chenchen———————————————————————
1 0
- JDK 动态代理 & AOP实现动态代理
- Java动态代理实现
- Java动态代理实现
- JAVA动态代理实现
- Java 动态代理实现
- Java动态代理实现
- Java动态代理实现
- Java动态代理实现
- Java动态代理实现
- 动态代理--简单实现
- 动态代理--简单实现
- JDK动态代理实现
- Java动态代理实现
- Java动态代理实现
- Java动态代理实现
- 动态代理的实现
- CGLIB实现动态代理
- DIY实现动态代理
- NOJ——1559Jump to the Top of Mountain(简单暴力DFS+渣渣代码)
- 校赛——1096Is The Same?(KMP或字符串的最小、大表示法)
- Maven Java EE Configuration Problem
- 关于系统重装的一件小事
- MAVEN在eclipse(kepler)里的安装配置
- 动态代理实现
- 大神是如何装逼的 之 vim插件使用taglist和nerdtree
- google官方架构MVP解析与实战-(从零开始搭建android框架系列(3))
- (OK) Creates Docker-based Virtual PC containers for use inside GNS3 as end hosts.
- 找人代写安卓端DICOM查看器
- Memcached实现机制
- C#学习之逆波兰公式简单实现
- ptr_vector
- 实用技巧——获取验证码的倒计时