spring学习之事务管理器

1.什么是事物

对数据操作中的基本单元,事物指的是一组操作,要么都成功,一个失败,全都失败

2.事物的特性

原子性,一致性,隔离性,持久性

3.不考虑隔离性产生读的问题(隔离性:多个事物之间不产生影响)

脏读,不可重复读,幻读,虚读

4,解决读的问题

设置隔离级别

spring事物管理的两种方式

第一种  编程式事务管理(不用)

第二种  声明式事物管理

             1.基于xml的配置

              2.基于注解的配置

事物管理器接口PlatformTransactionManager 的jdbc和iBatis的实现类为org.springframework.jdbc.datasource.DataSourceTransactionManager

一:添加事物管理,出现异常进行回滚操作

比如:在特殊情况下,数据库执行了取出,突然断网,断电的情况下,没有在后续的写入,导致出现问题,这时候使用回滚,让取出也不进行执行

<!-- 配置事务管理器 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	    <property name="dataSource" ref="dataSource"/>
	</bean>
	<!-- 配置事务增强 -->
	<tx:advice id="txadvice" transaction-manager="transactionManager">
	<!-- 做事务操作 -->
	    <tx:attributes>
	    <!-- 设置进行事务操作的方法的匹配规则 -->
	      <tx:method name="acount*" propagation="REQUIRED"/>
	    </tx:attributes>
	</tx:advice>
	<!-- 配置切面 -->
	<aop:config>
	   <!-- 配置切入点 -->
	   <aop:pointcut expression="execution(* com.service.UserService.*(..))" id="pointcut"/>
	   <!-- 配置切面 -->
	   <aop:advisor advice-ref="txadvice" pointcut-ref="pointcut"/>
	</aop:config>

注:dataSource为配置好的bean,连接数据库的属性


二:使用注解配置事务管理器

1.配置事务管理器

<!-- 配置事务管理器 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	    <property name="dataSource" ref="dataSource"/>
	</bean>  
2.启动事务管理器

<tx:annotation-driven transaction-manager="transactionManager"  />

3.在需要的类的上面添加注解

@Transactional

即可.




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值