我是靠谱客的博主 美丽铃铛,最近开发中收集的这篇文章主要介绍cglib动态代理以及出错解决,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

动态代理的代码使用的是这篇博客http://blog.csdn.net/yakoo5/article/details/9099133/

public class Test {
public static void main(String[] args) {
CglibProxy proxy = new CglibProxy();
//通过生成子类的方式创建代理类
SayHello proxyImp = (SayHello)proxy.getProxy(SayHello.class);
proxyImp.say();
}
}
class SayHello{
public void say(){
System.out.println("hello everyone");
}
}
class CglibProxy implements MethodInterceptor {
private Enhancer enhancer = new Enhancer();
public Object getProxy(Class clazz){
//设置需要创建子类的类
enhancer.setSuperclass(clazz);
enhancer.setCallback(this);
//通过字节码技术动态创建子类实例
return enhancer.create();
}
public CglibProxy() {
}
@Override
public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
System.out.println("前置代理");
//通过代理类调用父类中的方法
Object result = methodProxy.invokeSuper(o, objects);
System.out.println("后置代理");
return result;
}
}

导入cglib-2.2.jar包后显示没有找到类
这里写图片描述

导入asm-3.2.jar包能正常运行
输出:
前置代理
hello everyone
后置代理

最后

以上就是美丽铃铛为你收集整理的cglib动态代理以及出错解决的全部内容,希望文章能够帮你解决cglib动态代理以及出错解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部