• Spring事务管理和事务相关配置以及事务传播行为


    1. Spring事务简介

    • 事务作用:在数据层保障一系列的数据库操作同成功同失败
    • Spring事务作用:在数据层业务层保障一系列的数据库操作同成功同失败

    2.事务使用

    1. 在业务层接口上添加Spring事务管理
      • Spring注解式事务通常添加在业务层接口中,不会添加到业务层实现类中,可以降低耦合
      • 注解式事务可以添加到业务方法上表示方法开启事务,添加到接口上表示当前接口所有方法开启事务
    public interface AccountService {
        @Transactional
        void transfer(String outName,String inName,Double money);
    }
    
    • 1
    • 2
    • 3
    • 4
    1. 设置事务管理器
      • 事务管理器要根据实现技术进行选择
    	//配置事务管理器,mybatis使用的是jdbc事务,在jdbc配置类中添加设置事务管理器
        @Bean
        public PlatformTransactionManager transactionManager(DataSource dataSource){
            DataSourceTransactionManager transactionManager =new DataSourceTransactionManager();
            transactionManager.setDataSource(dataSource);
            return transactionManager;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 开启注解式事务驱动
    @Configuration
    @ComponentScan("com.my")
    @Import({JdbcConfig.class,MybatisConfig.class})
    @PropertySource("classpath:jdbc.properties")
    //开启注解式事务驱动
    @EnableTransactionManagement
    
    public class SpringCconfig {
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3.事务相关配置

    属性作用示例
    readOnly设置是否为只读事务readOnly=true(只读事务)
    timeout设置事务超时时间timeout=-1(永不超时)
    rollbackFor设置事务回滚异常(class)rollbackFor=(NullPointException.class)
    rollbackForClassName设置事务回滚异常(String)rollbackForClassName=(NullPointException.class)(字符串形式)
    noRollbackFor设置事务不回滚异常(class)noRollbackFor=(NullPointException.class)
    noRollbackForClassName设置事务不回滚异常(String)noRollbackForClassName=(NullPointException.class)(字符串形式)
    propagation设置事务传播行为

    4.事务传播行为

    在这里插入图片描述

  • 相关阅读:
    SQL的函数
    记一次学习记录
    高等数学(第七版)同济大学 总习题三(前10题) 个人解答
    HTTP 413 Request Entity Too Large(Payload Too Large)
    RHCSA --- Linux存储管理
    valgrind简介与使用
    Nlog详解---非常详细
    Spring中ApplicationListener事件监听机制详解
    哈希表(Hash table)
    如何在 Ubuntu VPS 实例上安装 Chef 服务器、工作站和客户端
  • 原文地址:https://blog.csdn.net/m0_59564754/article/details/127790499