/**
* cglib代理
* @author csz
*
*/
public class ProxyFactory implements MethodInterceptor {
private Object target;
public ProxyFactory(Object target){
this.target=target;
}
public Object getProxyInstance(){
//1.工具类
Enhancer enhancer = new Enhancer();
//设置父类
enhancer.setSuperclass(target.getClass());
//设置回调函数
enhancer.setCallback(this);
//创建子类代理对象
return enhancer.create();
}
@Override
public Object intercept(Object arg0, Method method, Object[] args,
MethodProxy arg3) throws Throwable {
System.out.println("开启拦截。。开始事务。。");
Object invoke = method.invoke(target, args);
System.out.println("关闭拦截。。关闭事务");
return invoke;
}
}cglib代理
最新推荐文章于 2025-07-06 18:53:21 发布
本文介绍了使用CGLIB实现动态代理的过程。通过创建ProxyFactory类并实现MethodInterceptor接口,可以为任意类生成代理对象。文章详细展示了如何利用Enhancer工具类设置父类和回调函数来创建子类代理,同时提供了拦截器的具体实现。
923

被折叠的 条评论
为什么被折叠?



