CGLib Proxy

Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(Dog.class);
enhancer.setCallback(new MethodInterceptor() {
@Override
public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
System.out.println("before method run...");
Object result = proxy.invokeSuper(obj, args);
System.out.println("after method run...");
return result;
}
});
Dog sample = (Dog) enhancer.create();
sample.eat();

  

posted @ 2020-07-22 14:41  orbc  阅读(112)  评论(0编辑  收藏  举报