Spring 声明式事物

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 声明式事物相关的知识,希望对你有一定的参考价值。

一、xml配置事物管理器

    <!-- 配置事物管理器 -->  
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource" ref="dataSource" />  
    </bean>  
      
    <!-- 开启事务控制的注解支持 -->  
    <tx:annotation-driven transaction-manager="transactionManager"/>

  

二、@Transactional

 

三、什么时候回滚事物

默认配置下,spring只有在抛出的异常为RuntimeException或其子类(Errors也会导致事务回滚),而其他非运行时异常则不会导致事务回滚。

可以明确的配置在抛出那哪些异常时回滚事务,包括checked异常。也可以明确定义那些异常抛出时不回滚事务。

还可以编程性的通过setRollbackOnly()方法来指示一个事务必须回滚,在调用完setRollbackOnly()后你所能执行的唯一操作就是回滚。

1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class)

2 让unchecked例外不回滚: @Transactional(notRollbackFor=RunTimeException.class)

 

参考:http://blog.csdn.net/bao19901210/article/details/41724355

以上是关于Spring 声明式事物的主要内容,如果未能解决你的问题,请参考以下文章

Spring 声明式事物

spring学习 十八 spring的声明事物

spring的事务

spring事物配置,声明式事务管理和基于@Transactional注解的使用

Spring中的事物管理,用 @Transactional 注解声明式地管理事务

spring事物配置,声明式事务管理和基于@Transactional注解的使用