- spring事务
- 什么是事务
- 讲mysql的时候,提出了事务。事务是指一组sql语句的集合,集合中有多条sql语句,可能是insert , update , select , delete,我们希望这些多个sql语句都能成功,或者都失败,这些sql语句的执行是一致的,作为一个整体执行
- 多种数据库访问技术处理事务的不足
- 1.不同的数据库访问技术,处理事务的对象,方法不同,需要了解不同数据库访问技术使用事务的原理
- 2.开发人员需要掌握多种数据库中事务的处理逻辑。什么时候提交事务
- 3.处理事务有多种方法
- spring声明式事务
- 提供了一种处理事务的统一模型,能使用统一步骤,方式完成多种不同数据库访问技术的事务处理。
- 统—处理步骤:
- 1.使用的事务管理器对象,代替你完成commit,rollback。指定要使用的事务管理器实现类<bean id= "xxx" class="...DataSourceTransactionManager">
- ⒉.指定哪些类,哪些方法需要加入事务的功能
- 3.指定方法需要的事务类型
- 1.事务的隔离级别
- ⒉.事务的超时时间
- 3.事务的传播行为
- 具体的事务处理方式
- 适合中小型项目的方案(注解方案)
- 1.添加依赖spring-tx
- ⒉声明事务管理器对象<bean id="transactionManager" class="DataSourceTransactionManager" >
- 3.开启事务注解驱动:<tx:annotation-driven transaction-manager="transactionManager" />(告诉spring框架,我要使用注解的方式管理事务)
- 4.在方法的上面加入@Transactional
- 适合大型项目的方案(都是在xml配置文件中实现)
- 1.添加依赖spring-aspects
- 2.声明事务管理器对象<bean id="transactionManager" class="DataSourceTransactionManager>
- 3.声明方法需要的事务类型(配置方法的事务属性【隔离级别,传播行为,超时】)
<tx:advice id="myAdvice" transaction-manager= "transactionManager">
<tx:attributes>
<tx:method name=""/>
</tx:attributes>
</tx:advice>
- 4.配置aop:指定哪些类要创建代理。
<aop:config>0
<aop:pointcut id="servicePt" expression="execution(* *..service..*.*(..))"/>
<!--关联advice和pointcut-->
<aop:advisor advice-ref="myAdvice" pointcut-ref="servicePt"/>
</aop:config>
- 适合中小型项目的方案(注解方案)
- 什么是事务

Spring 声明式事务管理提供了一种统一的方式来处理不同数据库访问技术的事务,简化了事务处理的复杂性。通过配置事务管理器、启用注解驱动或XML配置,可以实现对事务的隔离级别、超时和传播行为的控制。注解方案适用于中小型项目,而XML配置方案更适合大型项目。
5万+

被折叠的 条评论
为什么被折叠?



