使用cglib,asm 对接口进行拦截,这里需要调用Invoke方法
final IUserService userService=new UserService(); Enhancer enhancer=new Enhancer(); enhancer.setSuperclass(IUserService.class); enhancer.setCallback(new MethodInterceptor() { @Override public Object intercept(Object arg0, Method arg1, Object[] arg2, MethodProxy arg3) throws Throwable { System.out.println(arg1.getName()); return arg3.invoke(userService, arg2); } }); IUserService proxy= (IUserService) enhancer.create(); System.out.println(proxy.getNameById(3));