Spring 事务回滚

方式一:使用配置

  这种是,自动扫描该包的的所有制定方法,有异常抛出,就回滚

  若是没有发出异常,但不符合要求,可以手动制造异常,使其触发配置的事务回滚

<!--配置事物-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!--配置事物传播特性-->
    <tx:advice id="transactionInterceptor" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="add*" propagation="REQUIRED"/>
            <tx:method name="del*" propagation="REQUIRED"/>
            <tx:method name="update*" propagation="REQUIRED"/>
            <tx:method name="query*" read-only="true"/>
            <tx:method name="select*" read-only="true"/>
            <tx:method name="find*" read-only="true"/>
            <tx:method name="get*" read-only="true"/>
        </tx:attributes>
    </tx:advice>

方式二:

  使用@Transactional 注解,同方法一,都是有异常才会回滚

方式三:使用TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); ,手动调起事务回滚(推荐

posted @ 2018-01-20 16:49  猴子1  阅读(102)  评论(0编辑  收藏  举报