場景重現 |
在進行插入操作時,整個方法沒有執行完畢,但是已經對數據庫進行了插入操作。這樣可能造成的結果是:
1.方法結尾處有錯,對數據庫進行了無用數據插入。
2.數據內容插入不完整。
註解式事務引用 |
<!-- 事務管理器配置 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 開啓事務控制的註解支持 -->
<tx:annotation-driven transaction-manager="transactionManager" />
之後再所有需要用到註解式事務的方法上加上@Transactional這個註釋,功能完成。
缺陷 |
這種事務處理方式有非常大的侷限性。
1。如果一個線程中有多個不同的事務很難處理
2。方法一旦被註解爲事務,只要在一個線程中執行都會被當作事務處理,這不利於積木式編程,因爲同樣一個方法是否參與事務是和調用者相關,而不是線程相關的