Spring事务管理

1、编程式事务管理
2、声明式事务管理(使用)
在Spring进行事务管理中,底层使用AOP原理。
(1)基于注解方式(推荐
(2)基于XML配置文件方式

3、Spring事务管理API
(1)提供一个接口,代表事务管理器,这个接口针对不同的框架提供提供不同的实现类。
接口:PlatformTransactionManager
(2)@Transactional
事务注解
①在类上,类中的所有方法都添加事务
②在方法上,该方法添加事务
(3)XML文件配置

```
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!--注入数据源-->
    <property name="dataSource" ref="dataSource"></property>
</bean>


    ```
<!--开启事务注解-->
    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

4、声明式事务参数配置
@Transactional(readOnly = false,timeout = 60,propagation = Propagation.REQUIRED,isolation = Isolation.REPEATABLE_READ)
(1)propagation:事务传播行为
多事务方法直接进行调用,这个过程中事务是如何进行管理的。(Spring定义了7种类传播行为)
{REQURED , REQURED_NEW , SUPPORTS , NOT_SUPPORTS , MANDATORY , NEVER , NESTED}
(2)ioslation:事务隔离级别
事务特性:隔离性,多事务操作之间不会产生影响。
不考虑隔离性会产生的问题:脏读、不可重复读、虚(幻)读
通过设置事务隔离级别解决问题(READ UNCOMMITTED , READ COMMITTED , REPEATABLE READ , SERIALIZABLE)
(3)timeout:超时时间
timeout = -1默认值
(4)readOnly:是否只读
默认值false,表示可以增删改查
(5)rollbackFor:回滚
(6)norollbackFor:不回滚

posted @ 2021-11-02 23:08  水木blog  阅读(35)  评论(0)    收藏  举报