springboot多数据源指定不同事务管理器

本文介绍了在Spring Boot中如何为多个数据源指定不同的事务管理器,包括配置Spring Boot的数据源、JPA以及创建相应的实体和数据访问接口。通过在事务管理器上设置value属性来指定对应的数据源,并提供了单元测试案例展示其效果。
摘要由CSDN通过智能技术生成

      理解Spring Boot的事务管理

1.1     实验内容

事务管理是Spring框架中最为常用的功能之一,请查阅资料完成下面任一问题:

1.      如何为多个数据源指定不同的事务管理器?请给出应用例子和测试代码。

2.      隔离级别是指若干个并发的事务之间的隔离程度,与开发时相关的场景主要包括:脏读取、重复读、幻读,如何理解这些概念?在Spring Boot中如何实现?请给出应用例子和测试代码。

3.      事务的传播行为是指:如果在开始当前事务之前,一个事务已经在上下文中存在,此时有若干个选项(REQUIREDSUPPORTSMANDATORYREQUIRES_NEW)可以指定一个事务性方法的执行行为,如何理解这些选项?请给出应用例子和测试代码。

1.2     实验过程描述

为多个数据源指定不同的事务管理器

1.        创建一个Spring配置类

定义两个DataSource用来读取application.properties中的不同配置。如下例子中,主数据源配置为spring.datasource.primary开头的配置,第二数据源配置为spring.datasource.secondary开头的配置。

@Configuration
public class DataSourceConfig {
  

    @Bean(name = "primaryDataSource")
    @Qualifier("primaryDataSource")   @ConfigurationProperties(prefix="spring.datasource.primary")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }
    @Bean(name = "secondaryDataSource")
    @Qualifier("secondaryDataSource")
    @Primary
@ConfigurationProperties(prefix="spring.datasource.secondary")
    public DataSource secondaryDataSource() {
        return DataSourceBuilder.create().build();
    }
}

 

对应的application.properties配置如下:

spring.datasource.primary.url=jdbc:mysql://localhost:3306/test1
spring.datasource.primary.username=root
spring.datasource.primary.password=password
spring.datasource.primary.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.secondary.url=
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值