java事务使用

  1. 需要在application.xml中配置事务声明
<!-- 配置事务管理器,全注解声明式事务  -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
  1. 在web.xml中开启对事物注解的解析
<!--开启了对注解的解析-->
    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
  1. 在方法上加上事务注解,propagation属性在说明在:这里,rollbackFor指定方法抛出什么异常后自动回滚。
@Transactional(propagation=Propagation.REQUIRED, rollbackFor=RuntimeException.class)
  1. 如果用try,catch抓住了异常,想要回滚:要么抛出继承了RuntimeException异常的异常,让程序自动回滚;要么在catch中手动回滚。手动回滚代码为:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

猜你喜欢

转载自blog.csdn.net/weixin_44082011/article/details/84992283