1、Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚。
如果一个方法抛出Exception或者Checked异常,Spring事务管理默认不进行回滚。
2、可以通过
@Transactional(noRollbackFor=RuntimeException.class)
@Transactional(rollbackFor=Exception.class)
来配置对什么样的异常回滚或不回滚
3、事务配置如下
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
2