《原神攻略》稻妻聖遺物狗糧怎麼收集?稻妻免費聖遺物收集點分享
Spring支援程式設計式事務管理以及宣告式事務管理兩種方式。
1.程式設計式事務
程式設計式事務管理是侵入性事務管理,使用TransactionTemplate或者直接使用PlatformTransactionManager,對於程式設計式事務管理,Spring推薦使用TransactionTemplate。
1.1 Spring事務支援:
spring提供了很多內建事務管理器,支援不同資料來源。常見的有三大類:
DataSourceTransactionManager:org.springframework.jdbc.datasource包下,資料來源事務管理類,提供對單個javax.sql.DataSource資料來源的事務管理,只要用於JDBC,Mybatis框架事務管理。
HibernateTransactionManager
JtaTransactionManager:位於org.springframework.transaction.jta包中,提供對分散式事務管理的支援,並將事務管理委託給Java EE應用伺服器,或者自定義一個本地JTA事務管理器,巢狀到應用程式中。
① 內建事務管理器都繼承了抽象類AbstractPlatformTransactionManager,而AbstractPlatformTransactionManager又繼承了介面PlatformTransactionManager
②Spring框架支援事務管理的核心是事務管理器抽象,對於不同的資料訪問框架通過實現策略介面PlatformTransactionManager,從而能支援多鍾資料訪問框架的事務管理。
Spring實現程式設計式事務,依賴於2大類,分別是PlatformTransactionManager,與模版類TransactionTemplate(推薦使用)。下面分別詳細介紹Spring是如何通過該類實現事務管理。
① PlatformTransactionManager
②TransactionTemplate
該類繼承了介面DefaultTransactionDefinition,用於簡化事務管理,事務管理由模板類定義,主要是通過TransactionCallback回撥介面或TransactionCallbackWithoutResult回撥介面指定,通過呼叫模板類的引數型別為TransactionCallback或TransactionCallbackWithoutResult的execute方法來自動享受事務管理。
TransactionTemplate模板類使用的回撥介面:
TransactionCallback:通過實現該介面的“T doInTransaction(TransactionStatus status) ”方法來定義需要事務管理的操作程式碼;
TransactionCallbackWithoutResult:繼承TransactionCallback介面,提供“void doInTransactionWithoutResult(TransactionStatus status)”便利介面用於方便那些不需要返回值的事務操作程式碼。