19.spring中事务控制的API

参考的学习视频→https://b23.tv/av47952931/p82

Spring中事务控制需要的pom依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>5.2.3.RELEASE</version>
</dependency>

xml中需要添加的约束

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                   http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx.xsd">
</beans>

★spring中基于xml的声明式事务控制配置步骤步骤

1. 配置事务管理器
2. 配置事务的通知

  • 标签:   tx:advice
  • 属性: id  事务通知的唯一标志        transaction-manager  事务管理器的引用

3. 配置AOP中的通用切入点表达式
4. 建立事务通知和切入点表达式的对应关系
5. 配置事务的属性

  • isolation:用于指定事物的隔离级别,默认值为DEFAULT,表示使用数据库的默认隔离级别。
  • propagation:用于指定事务的传播行为,默认值是REQUIRED,表示一定会有事务,增删改的选择。查询方法可以选择SUPPORTS。
  • read-only:用于指定事务是否只读。只有查询方法才能设置为true。默认值是false,表示读写。
  • timeout:用于指定事务的超时时间,默认值是-1,表示永不超时。如果指定了数值,以秒为单位。
  • rollback-for:用于指定一个异常,当产生该异常时,事务回滚,产生其他异常时,事务不回滚。没有默认值,表示任何异常都会回滚。
  • no-rollback-for:用于指定一个异常,当产生该异常时,事务不回滚,产生其他异常时事务回滚。没有默认值,表示任何异常都回滚。

★spring中基于注解的声明式事务控制配置步骤步骤(不需要AOP)

1. 配置事务管理器
2. 开启spring对注解事务的支持
3. 在需要事务支持的地方使用@Transactional注解 

@Transactional注解使用默认值

@Transactional注解自定义属性

发布了51 篇原创文章 · 获赞 1 · 访问量 1067

猜你喜欢

转载自blog.csdn.net/si_si_si/article/details/104751302