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(); ,手动调起事务回滚(推荐)