Spring 事务管理的实现分析
2018-03-05 16:52
417 查看
1、Spring 事务管理实现的基本模型
在同一个 connection 里,【开启事务】->【执行method】->【回滚 OR 提交】2、注意点
线程安全,每个线程同一个数据源只有一个connection 。当线程在执行一个有事务的方法时,通过数据源去获取connection。仅支持单个数据源的事务控制
spring 抽象层 AbsPlatformTransactionManager,通过模板方法,由子类实现具体的【begin Transaction】【rollBack】【commit】, 由第三方实现,例如:DataSourceTransactionManager 、HibernateTransactionManager
spring容器启动时,注入了数据源data source
最终实现的底层还是 java JDBC 的 connction 提供的方法实现,connection.createStatement(),cooncetion.commit(); connection.rollback().
3、设计类图之设计模式
常用的事务实现是 DataSourceTransactionManager.4、spring 如何知晓 【method】 添加了事务?
添加事务的方式: 注解配置事务以及【事务属性,或事务定义】、xml 通过【pattern】模式匹配方式配置拦截点,同时配置了统一的需要的【事务属性】,这里暂不列举。例如:xml 配置事务驱动注解,在代码中使用注解 @Transactional下图是【TransactionAspectSupport】 实现在事务中执行方法,也可能没有创建事务。
getTransactionAttribute(Method method, Class<?> targetClass) 获取当前 method 的事务属性。
根据事务属性实现【三步走策略】
相关文章推荐
- 对Spring事务管理实现技术的分析
- 对Spring事务管理实现技术的分析
- Spring3.1.0实现原理分析(二十二).Dao事务分析之事务管理器DataSourceTransactionManager
- Spring事务分析(2)--基于声明式的事务管理实现分析
- Spring3.1.0实现原理分析(二十二).Dao事务分析之事务管理器DataSourceTransactionManager
- spring源码分析之——spring 事务管理实现方式
- spring源码分析之——spring 事务管理实现方式 (不太清晰,不明白aop会看不懂)
- Spring事务分析(2)--基于声明式的事务管理实现分析
- 全面分析 Spring 的编程式事务管理及声明式事务管理
- 全面分析 Spring 的编程式事务管理及声明式事务管理(转)
- spring学习(十一)—事务管理(注解方式实现)
- 全面分析 Spring 的编程式事务管理及声明式事务管理
- 浅析“代理模式”实现spring事务管理
- 全面分析 Spring 的编程式事务管理及声明式事务管理
- 基于Spring的轻量级Web Service事务管理框架及其实现
- 全面分析 Spring 的编程式事务管理及声明式事务管理
- 全面分析 Spring 的编程式事务管理及声明式事务管理
- Spring声明式事务管理(基于注解方式实现)
- 全面分析 Spring 的编程式事务管理及声明式事务管理(2)
- 全面分析 Spring 的编程式事务管理及声明式事务管理