实现步骤:

   1.导入依赖包:数据源 c3p0 ,    数据库驱动:mysql-connector-java ,    spring事务包:这时导入spring-jdbc,该包依赖spring-tx, maven会自动导入依赖

<dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.15</version>
<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>

 2.@EnableTransactionManagement开启事务管理器

 3.@Transactional标在方法上(也可以标在类上),表明这时一个事务方法

   这时测试出现错误:NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.transaction.PlatformTransactionManager' available

   解决思路:一看就是找不到bean,那么就配置这个bean 

   配置PlatformTransactionManager: 找到PlatformTransactionManager接口,看它的实现类,选org.springframework.jdbc.datasource包下的

DataSourceTransactionManager实现类。
@Bean
    public PlatformTransactionManager transactionManager() throws Exception {
        DataSourceTransactionManager manager=new DataSourceTransactionManager(dataSource());
        return manager;
    }

到此声明式事务环境搭建好了。。。

相关文章:

  • 2021-10-14
  • 2021-10-02
  • 2021-05-13
  • 2021-07-25
  • 2022-12-28
  • 2021-09-11
  • 2021-11-24
猜你喜欢
  • 2021-11-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-24
  • 2022-12-23
相关资源
相似解决方案