这两天再弄Spring事务这里遇到一些问题,和大家分享下。
1. spring-servlet.xml的配置,验证规则必须有,否则tx标签会编译出错。
<beans
xmlns:tx="http://www.springframework.org/schema/tx“
xsi:schemaLocation="http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!-- transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- enable transaction demarcation with annotations -->
<tx:annotation-driven />
</beans>
2. 除了Spring基础jar包外,需要导入asm-3.1.jar, aopalliance-1.0.jar, cglib-2.2.jar. 如果不导入这些,部署时会出现异常。
3. 使用时需要加上遇到什么异常回滚,默认是遇到非受检异常才回滚。
4. 使用举例:
@Transactional(rollbackForClassName={"SQLException"})
这个注解是当遇到sql异常时回滚。
1. spring-servlet.xml的配置,验证规则必须有,否则tx标签会编译出错。
<beans
xmlns:tx="http://www.springframework.org/schema/tx“
xsi:schemaLocation="http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!-- transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- enable transaction demarcation with annotations -->
<tx:annotation-driven />
</beans>
2. 除了Spring基础jar包外,需要导入asm-3.1.jar, aopalliance-1.0.jar, cglib-2.2.jar. 如果不导入这些,部署时会出现异常。
3. 使用时需要加上遇到什么异常回滚,默认是遇到非受检异常才回滚。
4. 使用举例:
@Transactional(rollbackForClassName={"SQLException"})
这个注解是当遇到sql异常时回滚。