声明式事务处理
Spring的声明式事务管理底层是建立在AOP基础上的,其本质是对方法前后进行拦截,然后在目标方法开始之前创建或加入一个事务,在执行完毕之后根据执行情况提交或回滚事务。
原理
public Object transactionHandle(ProceedingJoinPoint point)throws Throwable{
try{
//开启事务
//执行连接点
Object obj = point.proceed();
//提交事务
return obj;
}catch(Throwable e){
//回滚事务
throw e;
}finally{
//关闭连接或做其他操作
}
}
是一个典型的横切关注点, 而且需要使用环绕通知来实现。实际上事务管理这个横切点的逻辑已经被Spring封装好了。
声明式事务管理配置
配置众多,不一一说明,有事务属性,事务隔离级别等。
最近太忙了、、、、