spring事务管理

 

spring 事务运行时异常默认回滚

spring事务检查性异常不会回滚,如果需要回滚,添加rollback-for="抛出的异常类"

如:<tx:method name="transfer" rollback-for="java.io.FileNotFoundException" />

(1)声明式事务

在applicationContext.xml中加入

<!-- 声明式事务配置开始 -->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

    <!-- 配置事务增强处理Bean,指定事务管理器 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">

        <tx:attributes>

            <tx:method name="get*" read-only="true" />
            <tx:method name="transfer" />

            <tx:method name="*" />
        </tx:attributes>
    </tx:advice>

    <aop:config>
        <aop:pointcut id="myPointcut" expression="execution(* com.service.impl.*.*(..))" />

        <aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" />

    </aop:config>


(2)注解事务

在加入事务的方法上添加注解(@Transactional)

在applicationContext.xml中添加<tx:annotation-driven/>

 

posted @ 2018-02-01 20:34  -1℃  阅读(128)  评论(0编辑  收藏  举报