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()--------------");   
    }
   
}
  
原创粉丝点击