读书人

cglib事例

发布时间: 2012-10-06 17:34:01 作者: rapoo

cglib例子
import java.lang.reflect.Method;

import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

class Myclass {
public void method() {
System.out.println(this.getClass() + "is invoked..");
}
}

class MethodInterceptorImpl implements MethodInterceptor {
@Override
public Object intercept(Object o, Method m, Object[] os, MethodProxy mp)
throws Throwable {
System.out.println(this.getClass() + "is invoked..");
System.out.println(m);
return mp.invokeSuper(o, os);
}
}

public class testmain {
public static void main(String[] args) {
Enhancer en = new Enhancer();
en.setSuperclass(Myclass.class);
en.setCallback(new MethodInterceptorImpl());
Myclass mc = (Myclass) en.create();
mc.method();
}
}

读书人网 >编程

热点推荐