美文网首页
Spring声明式事务的两种实现方式

Spring声明式事务的两种实现方式

作者: Java_Explorer | 来源:发表于2018-11-15 00:30 被阅读46次

Spring中事务分为编程式事务和声明式事务。编程式事务由于需要在代码中硬编码,在实际项目开发中比较少用到。实际开发中用的比较多的就是声明式事务。

声明式事务又分为基于配置的和基于@Transactional注解的。

1. 基于配置的声明式事务

  1. 配置事务管理器
<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">       
          <property name="dataSource" ref="dataSource"></property>  
</bean>
  1. 配置需要加入事务的规则
<tx:advice id="iccardTxAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="delete*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception" no-rollback-for="java.lang.RuntimeException"/>
        <tx:method name="insert*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.RuntimeException" />
        <tx:method name="add*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.RuntimeException" />
        <tx:method name="create*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.RuntimeException" />
        <tx:method name="update*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception" />

        <tx:method name="find*" propagation="SUPPORTS" />
        <tx:method name="get*" propagation="SUPPORTS" />
        <tx:method name="select*" propagation="SUPPORTS" />
        <tx:method name="query*" propagation="SUPPORTS" />
    </tx:attributes>
</tx:advice>

<!-- 把事务控制在service层 -->
<aop:config>
    <aop:pointcut id="txPointcut" expression="execution(public * com.zkzong.service.*.*(..))" />
    <aop:advisor pointcut-ref="txPointcut" advice-ref="iccardTxAdvice" />
</aop:config>

2. 基于@Transactional注解的声明式事务

  1. 配置事务管理器
<!-- 定义事务管理器 -->    
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    
    <property name="dataSource" ref="dataSource" />    
</bean>    
<!--使用注释事务 -->    
<tx:annotation-driven  transaction-manager="transactionManager" />
  1. 在需要加入事务的方法或者类上添加@Transactional

相关文章

  • Java 一些配置

    1.事务的实现方式 (1) 实现方式共有两种:编码方式;声明式事务管理方式。(2) 基于AOP技术实现的声明式事务...

  • Spring事务总结

    1. 编程式事务和声明式事务 spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务Spring推荐...

  • @Transaction使用&@事务失效

    Transaction是Spring提供的关于事务的支持,Spring事务管理分为编码式和声明式两种方式。声明式事...

  • spring04

    Spring JdbcTemplate学习 Spring 声明式事务 xml配置实现 Spring 声明式事务 注...

  • 【济南中心】 Spring事务管理的方式

    【济南中心】 Spring事务管理的方式 1.spring支持编程式事务管理和声明式事务管理两种方式 编程...

  • Spring/Transaction

    事务管理方式spring支持编程式事务管理和声明式事务管理两种方式。声明式事务管理建立在AOP之上的。其本质是对方...

  • spring事务管理

    spring事务管理 使用方式分类:声明式事务 @Transactional 通过AOP来实现的;起到事务管理...

  • Spring事务的种类

    Spring事务的种类: spring支持编程式事务管理和声明式事务管理两种方式: ①编程式事务管理使用Trans...

  • Spring事物详解

    管理两种方式 spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionT...

  • Spring Boot开启声明式事务

    Spring Boot开启声明式事务 在以前早期的Spring使用xml方式的时候,配置声明式事务通常用xml方式...

网友评论

      本文标题:Spring声明式事务的两种实现方式

      本文链接:https://www.haomeiwen.com/subject/jjqefqtx.html