1. 程式人生 > >spring 手動控制事務處理

spring 手動控制事務處理

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;