使用cglib动态代理:
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(SingleItemRecomConfigServiceImpl.class);
enhancer.setCallbacks(new Callback[]{new MethodInterceptorInvoke()});
enhancer.setInterfaces(new Class[]{SingleItemRecomConfigService.class});
enhancer.setClassLoader(MethodInterceptorInvoke.class.getClassLoader());
SingleItemRecomConfigService o = (SingleItemRecomConfigService) enhancer.create();
byte[] generate = enhancer.getStrategy().generate(enhancer);
FileOutputStream fileOutputStream = new FileOutputStream(new File("D:\\aaa.class"));
fileOutputStream.write(generate);
fileOutputStream.flush();
fileOutputStream.close();
其中MethodInterceptorInvoke是继承MethodInterceptor接口的实现类
public class MethodInterceptorInvoke implements MethodInterceptor {
@Override