Cglib代理对象

import java.lang.reflect.Method;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

/**
 *
 * Enhancer 是CGLIB 的入口,通过它创建代理对象,同
 * 时为代理对象分配一个net.sf.cglib.proxy.Callback回调接口,
 * 用于执行回调。我们常用的是MethodInterceptor
 * 接口,这个接口继承自Callback接口,用于执行方法拦截。
 *
 */
public class MyMethodInterceptor implements MethodInterceptor
{
    /**
     *参数分别为代理对象、被调用的方法的
     *Method对象,方法的参数、CGLIB提供的方法代理对象,
     */
    public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy)
        throws Throwable
    {
        System.out.println("******************");
        Object o = proxy.invokeSuper(obj, args);
        System.out.println("++++++++++++++++++");
        return o;
    }
}

你可能感兴趣的:(.net)