Spring_DynamicProxy
来源:互联网 发布:手机移动网络屏蔽网站 编辑:程序博客网 时间:2024/06/08 09:18
package com.ufinity.spring;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class SecurityHandler implements InvocationHandler...{
private Object targetObj;
public Object newProxy(Object targetObj) ...{
this.targetObj = targetObj;
return Proxy.newProxyInstance(targetObj.getClass().getClassLoader() ,
targetObj.getClass().getInterfaces() ,
this);
}
//实现了IncocationHandler接口,里面的一个方法.
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable ...{
this.checkSecurity();
Object result = null;
result = method.invoke(this.targetObj, args);
return result;
}
//check security method
private void checkSecurity() ...{
System.out.println("-----------------SecurityHandler.checkSecurity()--------------");
}
}
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class SecurityHandler implements InvocationHandler...{
private Object targetObj;
public Object newProxy(Object targetObj) ...{
this.targetObj = targetObj;
return Proxy.newProxyInstance(targetObj.getClass().getClassLoader() ,
targetObj.getClass().getInterfaces() ,
this);
}
//实现了IncocationHandler接口,里面的一个方法.
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable ...{
this.checkSecurity();
Object result = null;
result = method.invoke(this.targetObj, args);
return result;
}
//check security method
private void checkSecurity() ...{
System.out.println("-----------------SecurityHandler.checkSecurity()--------------");
}
}