/**
* 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代理
最新推荐文章于 2024-04-02 15:45:52 发布