spring注解-聲明式事務


實現步驟:

   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;
    }

到此聲明式事務環境搭建好了。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM