spring 手动控制事务处理

来源:互联网 发布:大数据在电商中的应用 编辑:程序博客网 时间:2024/04/30 19:40

spring 手动控制事务  

系统设计方面要求手动控制事务

1、

      <!-- 由spring管理mybatis的事务 -->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>

2、

在需要加事务的方法上加上

DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务
TransactionStatus status = transactionManager.getTransaction(def); // 获得事务状态
try {
    //逻辑代码
    transactionManager.commit(status);
} catch (Exception e) {
    transactionManager.rollback(status);
}


 3.注解方式获取transactionManager,在类中添加事务控制bean服务:

//对应配置文件中bean的ID

@Resource(name="txManager")

private DataSourceTransactionManager transactionManager;

 

0 0
原创粉丝点击