package com.bjpowernode.drp.util;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
/**
* 描述封装事务和connection的动态代理类的类,目标类是manager实现类,提供事务的功能
* @author Kevin
*
*/
public class TransactionHandler implements InvocationHandler {
/**
* 目标类的对象
*/
private Object targetObject;
/**
* 创建代理类对象
* @param targetObject 目标类的对象
* @return 代理类对象
*/
public Object newProxyInstance(Object targetObject) {
this.targetObject = targetObject;
return Proxy.newProxyInstance(targetObject.getClass().getClassLoader(),
targetObject.getClass().getInterfaces(),
this);
}
/**
* 调用代理类的方法时就会调用该方法 (invoke)
* @param proxy 代理类对象
* @param method 代理类方法
* @param args 代理类方法参数
*/
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws T
TransactionHandler类,描述封装事务和connection的动态代理类的类,目标类是manager实现类,提供事务的功能
最新推荐文章于 2024-01-08 14:03:02 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)