您现在的位置: 主页 > 上位机技术 > JAVA > spring事务管理器
本文所属标签:
为本文创立个标签吧:

spring事务管理器

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-23 

Spring定义了平台级别的PlatformTransactionManager接口,而将事务管理委托给底层具体的持久化实现框架完成。因此,Spring为不同的持久化框架提供了PlatformTransactionManager接口的实现类, 这些事务管理器都是对特定事务实现框架的代理,这样,我们就可以通过Spring所提交的高级抽象对不同种类的事务实现使用相同的方式进行管理,而不用关心具体的实现。
要实现事务管理,首先要在Spring中配置好相应的事务管理器,为事务管理器指定数据资源以及一些其他事务管理控制属性。针对不同的持久化技术,spring提供了不同的事务管理器实现类。
如果使用Spring JDBC或iBatis,它们都是基于数据源的Connection访问数据库,所以使用DataSourceTransactionManager,如果使用jpa技术,spring提供了JpaTransactionManager的实现,基于hibernate,spring提供了HibernateTransactionManager。无论使用哪种持久化技术,只要在Spring中进行以下配置就可以了,例如使用spring jdbc或ibatis时,我们可以这样配置:
<!-- 采用bonecp数据源 -->
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 设置每多少秒检查数据库中的空闲连接数 -->
<property name="idleConnectionTestPeriodInMinutes" value="${cpool.checkoutTimeout}" />
<!-- 设置连接空闲时间 -->
<property name="idleMaxAgeInMinutes" value="${cpool.maxIdleTime}" />
<!-- 设置每个分区中的最大连接数 -->
<property name="maxConnectionsPerPartition" value="${cpool.maxPoolSize}" />
<!-- 设置每个分区中的最小连接数 -->
<property name="minConnectionsPerPartition" value="${cpool.minPoolSize}" />
<!-- 设置分区 分区数为 -->
<property name="partitionCount" value="2" />
<!-- 当连接池中的连接耗尽的时候 BoneCP一次同时获取的连接数 -->
<property name="acquireIncrement" value="${cpool.acquireIncrement}" />
<!-- 连接释放处理 线程数 -->
<property name="releaseHelperThreads" value="1" />
<property name="maxConnectionAgeInSeconds" value="${cpool.maxConnectionAgeInSeconds}"/>
</bean>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
在幕后,spring的事务管理器通过数据源的Connection对象进行事务管理。

关注微信公众号 javajidi_com,可以实时获取有价值的技术文章推送。
"Java基地"交流群:245130488




              查看评论 回复



嵌入式交流网主页 > 上位机技术 > JAVA > spring事务管理器
 使用 事务 实现

网站地图

围观()