1、声明式事务原理
2、Spring事务模块结构及解析
一、声明式事务原理
在日常的开发中经常会使用到事务,比如在新增纪录的方法里,通常会先开启事务,然后再提交事务,遇到异常就回滚事务,事务代码都是模版型的,写起来很烦,但是又不能不写。这正好符合AOP的应用范围,Spring天然的支持AOP,于是伟大的声明式事务就这么诞生了。通过XML或注解的方式配置事务,标明在哪个类,那个方法需要使用事务即可。
二、Spring事务模块结构及解析
Spring对事务管理做了高级抽象,分为3个部分,分别是事务定义,事务状态,事务管理器。
Spring通过解析XML和Annotation里事务的配置产生TransactionDefinition对象供PlatformTransactionManager使用,同时TransactionStatus封装了事务的状态信息。TransactionDefinition中封装了事务隔离级别和事务传播特性的属性。
Spring对事务管理做了高度的抽象,这样就给不同的数据层框架提供了相同的管理方式,从PlatformTransactionSynchronizeManager的子类图中可以看出,Spring默认提供几种常见数据层框架的事务管理实现类。
DataSourceTransactionManager:使用JDBC或ibates等使用Datasource数据源持久化时,使用的事务管理器
HibernateTransactionManager:使用Hibernate时使用的事务管理器,对于不同版本的Hibernate有不同的管理器
JdoTransactionManager:使用JDO进行持久化时使用的事务管理器
JpaTransactionManager:使用JPA进行持久化时使用的事务管理器
JtaTransactioinManager:具有多个数据源的全局事务使用的事务管理器
Spring将JDBC的Connection、Session等都统称为资源,这些资源都是在同一时刻不能线程共享的,为了让Dao,Service类做到Singleton,Spring提供了事务同步管理器,内部通过TrheadLocal为每一个线程提供资源副本,同时维护事务属性和运行状态信息,在Spring的事务管理机制中有着地基级别的作用,无论是声明式事务还是编程式编程都离不开他。下面就看看他的结构
相关推荐
Spring5 框架 ---- 事务操作 ---- 代码 Spring5 框架 ---- 事务操作 ---- 代码 Spring5 框架 ---- 事务操作 ---- 代码 Spring5 框架 ---- 事务操作 ---- 代码 Spring5 框架 ---- 事务操作 ---- 代码 Spring5 框架 --...
NULL 博文链接:https://chenming47.iteye.com/blog/437199
spring cloud 微服务架构集成-spring-cloud-framework
spring-aop-4.1.6.RELEASE.jar spring-aspects-4.1.6.RELEASE.jar spring-beans-4.1.6.RELEASE.jar spring-context-4.1.6.RELEASE.jar spring-context-support-4.1.6.RELEASE.jar spring-core-4.1.6.RELEASE.jar ...
简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。 阅读源码好处: 了解其整体架构与核心概念以便建立Spring的模型 从框架入口开始抽丝剥茧,理解其每一个核心概念以及作用,并将这些核心...
Spring-data-redis 1.7.6 & source源码
spring-context-3.2.4.RELEASE.jar spring-core-3.2.4.RELEASE.jar spring-beans-3.2.4.RELEASE.jar spring-test-3.2.4.RELEASE.jar spring-web-3.2.4.RELEASE.jar spring-aop-3.2.4.RELEASE.jar spring-webmvc-...
spring+mybatis的声明式事务
2018-02-08从git_hub上拉取的Spring源码打成的jar,构建Spring-beans5.0以上源码所缺失的两个jar包spring-cglib-repack-3.2.6.jar,spring-objenesis-repack-2.6.jar
spring data jpa的包。spring-data-commons-1.8.0.RELEASE.jar
spring-data-redis-1.6.2.RELEASE.jar,官网文档,免费提供,亲测可用
NULL 博文链接:https://vzhchv0010.iteye.com/blog/356142
没有教程似的训导,更多的是说故事般的娓娓道来,本书是作者在多年的工作中积累的第一手Spring框架使用经验的总结,深入剖析了Spring框架各个模块的功能、出现的背景、设计理念和设计原理,揭开了Spring框架的神秘...
spring-framework-4.2.4.RELEASE-dist;官网不好下载了。这里分享下资源给大家,完整的spring开发jar包源码包,说明文档,全都有,最新版本不断更新中。
spring-data-commons-1.7.2.RELEASEspring-data-jpa-1.5.2.RELEASE-java datajpa
spring-framework-2.0-with-dependencies.zip spring-framework-2.0-with-dependencies.zip spring-framework-2.0-with-dependencies.zip spring-framework-2.0-with-dependencies.zip spring-framework-2.0-with-...
spring-framework-4.2.3.RELEASE-dist;官网不好下载了。这里分享下资源给大家,完整的spring开发jar包源码包,说明文档,全都有,最新版本不断更新中。
spring-beans-3.1.xsd
spring-framework-3.0.5.RELEASE.chm 修正了js错误的问题 这个是从官方文档直接制作的,注释了那些产生错误的js
spring4源码所需要的spring-objenesis-repack-2.1.jar,spring-cglib-repack-3.1.jar