有良多人感覺我們有了Spring,就再也不需要去向理獲得毗連、事務提交、回滾和封閉毗連等這些操作了,其實并不是如許的,事實上Spring并不是直接辦理事務的,只是供給了多種事務辦理器,讓持久化機制所供給的平臺框架的事務來實現事務辦理。感樂趣的伴侶一路來看看吧!~若是對你有幫忙,那么就隨手投個票吧,感謝啦~
Spring事務辦理本家兒要包羅3個接口,Spring的事務本家兒如果由他們三個配合完當作的,此中的PlatformTransactionManager是Spring事務辦理的焦點接口!這三個事務辦理器接口是按照指心猿意馬的傳布行為,返回當前勾當的事務,或者建立一個新的事務,參數的類界說一些根基的事務屬性。
第一個接口是PlatformTransactionManager,是Spring事務辦理的焦點接口。本家兒要功能是事務辦理器,是用于平臺相關事務的辦理,包羅commit 事務的提交;rollback 事務的回滾;getTransaction 事務狀況的獲取三種方式。
第二個接口是TransactionDefinition,本家兒要功能是事務界說信息,是用來界說事務相關的屬性,給事務辦理器PlatformTransactionManager利用的。并且在TransactionDefinition接口中界說了它本身的傳布行為和隔離級別。包羅getIsolationLevel:獲取隔離級別;getPropagationBehavior:獲取傳布行為;getTimeout:獲取超不時間;isReadOnly:是否只讀 四種方式。
第三個接口是TransactionStatus,本家兒要功能是事務具體運行狀況,是事務辦理過程中,每個時候點事務的狀況信息,它可以封裝很多代碼,節流我們的工作量。包羅hasSavepoint():返回這個事務內部是否包含一個保留點;isCompleted():返回該事務是否已完當作,也就是說,是否已經提交或回滾;isNewTransaction():判定當前事務是否是一個新事務 這三種方式。
看完以上的三個接口,那么你知道Spring是若何設置裝備擺設事務辦理器的嗎?
編程式事務辦理:經由過程PlatformTransactionManager實現來進行事務辦理。
聲明式事務辦理:基于tx和aop定名空間的xml設置裝備擺設文件。
聲明式事務辦理:基于@Transactional注解。
在Spring設置裝備擺設文件中界說事務辦理器,如下圖所示:
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!