Spring 中的事務管理
1. 事務的四個關鍵屬性(ACID)
- 原子性(atomicity): 事務是一個原子操作, 由一系列動作組成. 事務的原子性確保動作要麼全部完成要麼完全不起作用.
- 一致性(consistency): 一旦所有事務動作完成, 事務就被提交. 資料和資源就處於一種滿足業務規則的一致性狀態中.
- 隔離性(isolation): 可能有許多事務會同時處理相同的資料, 因此每個事物都應該與其他事務隔離開來, 防止資料損壞.
- 永續性(durability): 一旦事務完成, 無論發生什麼系統錯誤, 它的結果都不應該受到影響. 通常情況下, 事務的結果被寫到持久化儲存器中.
2. Spring 中的事務管理器的不同實現
3. Spring 的宣告式事務管理
3.1 使用配置檔案進行事務的宣告式管理
<!-- 宣告式事務管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="pooledDataSource" />
</bean>
<!-- 配置事物增強,如何控制 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 所有以add開頭的方法都是事物方法 -->
<tx:method name="add*"
<!-- 事務傳播行為 -->
propagation="REQUIRES_NEW"
<!-- 事務隔離級別-->
isolation="READ_COMMITED"
<!---事務回滾屬性-->
rollback-for="java.lang.IOEXception,java.sql.SQLException"
no-rollback-for="java.lang.ArithmeticException"/>
<!-- 以get開始的所有方法 -->
<tx:method name="get*"
<!-- 只讀事務屬性-->
read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!-- aop切入點表示式 -->
<aop:pointcut expression="execution(* com.supreme.service..*(..))"
id="txPoint" />
<!-- 配置事務增強 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint" />
</aop:config>
3.2 使用@Transactional
註解宣告式的管理事務
<!-- 宣告式事務管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="pooledDataSource" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
3.2.1 @Transactional
註解使用細節
3.2.2 @Transactional
註解使用示例
相關文章
- (四)Spring中的事務管理Spring
- Spring的事務管理(二)宣告式事務管理Spring
- Spring的事務管理Spring
- Spring 事務管理Spring
- Spring事務管理Spring
- 基於Spring中的事務管理機制Spring
- ASPECT中如何獲得SPRING所管理的事務.?Spring
- Spring系列.事務管理Spring
- Spring系列-事務管理Spring
- Spring的事務管理入門:程式設計式事務管理(TransactionTemplate)Spring程式設計
- Spring中的事務控制Spring
- Spring中事務管理org.springframework.transactionSpringFramework
- Spring事務管理總結Spring
- spring 事務管理機制Spring
- Spring事務管理全解析Spring
- Spring整合Hibernate的事務管理Spring
- 關於SPRING的事務管理_求助Spring
- Spring的事務管理(一) Spring事務管理的實現,事務的屬性(隔離級別,傳播行為,只讀)Spring
- 全面分析 Spring 的程式設計式事務管理及宣告式事務管理Spring程式設計
- spring宣告式事務管理配置Spring
- spring datasource 配置及事務管理Spring
- Spring事務專題(四)Spring中事務的使用、抽象機制及模擬Spring事務實現Spring抽象
- spring中異常的使用--事務Spring
- Spring核心系列之Spring中的事務Spring
- Spring事務管理:非常規指南 - marcobehlerSpring
- Spring 程式設計式事務管理Spring程式設計
- 分散式鎖和spring事務管理分散式Spring
- Spring事務管理(詳解+例項)Spring
- Spring事務管理—aop:pointcut expression解析SpringExpress
- spring事務管理的一些注意點Spring
- Spring事務(Transaction)管理高階篇一棧式解決開發中遇到的事務問題Spring
- spring事務管理原始碼分析(二)事務處理流程分析Spring原始碼
- Spring中@Transactional事務使用陷阱Spring
- Spring AOP 日誌攔截器的事務管理Spring
- 【spring原始碼學習】spring的事務管理的原始碼解析Spring原始碼
- 說說在 Spring 中,如何程式設計實現事務管理Spring程式設計
- Spring框架中配置事務管理器Spring框架
- 菜鳥學SSH(六)——Spring事務管理Spring