- 博客(4)
- 收藏
- 关注
原创 spring管理hibernate事务1
背景 上文已经介绍了spring是基于代理来管理事务的。但如何管理事务的,其流程是怎样的。本文将带领大家逐步揭开spring事务管理的面纱。 事务管理可以简单的分解为三个问题? - 什么时候打开事务 - 什么时候提交事务 - 什么时候发起事务回滚 流程 本文只关注spring如何管理事务,假设各位对spring生成代理的流程已经很了解了。 1. 在xml配置的声明式事务管理...
2018-08-11 22:04:40 276
原创 spring管理hibernate事务4
上一章介绍了spring在生产了TransactionInfo后,执行业务代码,与spring相关的只有如何获取session,我们知道是在线程变量resources中获取的。但执行了业务代码后,事务并未提交,本章介绍事务如何提交。 代码在 AbstractPlatformTransactionManager.commit(TransactionStatus status)。 如果statu...
2018-08-11 18:09:29 143
原创 spring管理hibernate事务3
上一节,我们介绍了如何生成TransactionInfo,TransactionStatus等关键对象,引入了几个线程变量,明白了spring管理事务是如何开启事务,创建session,transaction等对象的。 本节,我们将介绍spring 如何真实执行service方法的。先贴代码 try { // This is an around advice...
2018-08-11 16:16:44 323
原创 spring管理hibernate事务2
背景 上一章详细的描述了spring如何通过代理方法上的属性生成TrasactionAttribute,继而查找TrasactionManager。详细介绍了TrasactionAttribute的结构,查找TrasactionManager的流程,生成TrasactionAttribute的流程,延伸讲解了TransactionInterceptor和TransactionAspectSupp...
2018-08-11 12:46:54 329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人