添加事务管理

来源:互联网 发布:使用数据库 编辑:程序博客网 时间:2024/05/17 16:13
在service层,里面的方法通常是包含一些复杂逻辑的,一个方法可能就调用了dao的多个方法,所以就必须做到事务管理,要么service方法里面的dao方法全部执行,要么全部撤销。这样才能保证数据库数据的正确性。


@Transactional属性


属性 类型 描述
value String 可选的限定描述符,指定使用的事务管理器
propagation enum: Propagation可选的事务传播行为设置
isolation enum: Isolation可选的事务隔离级别设置
readOnly boolean读写或只读事务,默认读写
timeout int (in seconds granularity)事务超时时间设置
rollbackFor Class对象数组,必须继承自Throwable导致事务回滚的异常类数组
rollbackForClassName 类名数组,必须继承自Throwable导致事务回滚的异常类名字数组
noRollbackFor Class对象数组,必须继承自Throwable不会导致事务回滚的异常类数组
noRollbackForClassName 类名数组,必须继承自Throwable不会导致事务回滚的异常类名字数组


配置root-context.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx.xsd"
>

<!-- Root Context: defines shared resources visible to all other web components -->


<!-- enable the configuration of transactional behavior based on annotations -->
<tx:annotation-driven/>


<!-- a PlatformTransactionManager is still required -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- (this dependency is defined somewhere else) -->
<property name="dataSource" ref="dataSource" />
</bean>

</beans>
原创粉丝点击