zoukankan      html  css  js  c++  java
  • Spring事务注解@Transactional回滚问题

    Spring配置文件,声明事务时,如果rollback-for属性没有指定异常或者默认不写;经测试事务只回滚运行时异常(RuntimeException)和错误(Error)。

    <!-- 配置事务管理器 -->
        <bean id="transactionManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource" />
        </bean>
    
        <!-- 注解方式配置事物 -->
        <!-- <tx:annotation-driven transaction-manager="transactionManager" /> -->
    
        <!-- 拦截器方式配置事物 -->
        <tx:advice id="transactionAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <!-- 不添加rollback-for属性,事务只回滚运行时异常(RuntimeException)和错误(Error) -->
                <tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
                <tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
                <tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
                <tx:method name="add*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
    
                <tx:method name="get*" propagation="SUPPORTS" read-only="true" />
                <tx:method name="find*" propagation="SUPPORTS" read-only="true" />
                <tx:method name="select*" propagation="SUPPORTS" read-only="true" />
    
            </tx:attributes>
        </tx:advice>
        <!-- Spring aop事务管理 -->
        <aop:config>
            <aop:pointcut id="transactionPointcut"
                expression="execution(* com.lwj.service..*Impl.*(..))" />
            <aop:advisor pointcut-ref="transactionPointcut"
                advice-ref="transactionAdvice" />
        </aop:config>

    Spring API地址:http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/transaction/annotation/Transactional.html

    附java异常类Throwable图:

  • 相关阅读:
    java中文api 安装和引入eclipse
    【JAVA学习笔记】Java中的static关键字解析
    终于做好了JDBC在java和sql 2005之间的连接了 ,快哭了
    CF 5 A. Chat Server's Outgoing Traffic
    NYOJ 16 矩形嵌套
    poj 1061 青蛙的约会
    nefu 2 猜想
    nefu 120 梅森素数
    nefu 118 n!后面有多少个0
    nefu 117 素数个数的位数
  • 原文地址:https://www.cnblogs.com/lyxy/p/5383197.html
Copyright © 2011-2022 走看看