2015第24周二Spring事務2

來源:互聯網
上載者:User

標籤:

今天繼續深入學習SPring事務,發現網上很多文章都是很相似的轉載沒多少價值,就覺得更有必要把這個主題深入下去,先是摘錄那些對自己有用的觀點,後期再結合源碼進行全面的整理。

Spring提供了許多內建交易管理員實現,常用的有以下幾種: 

  • DataSourceTransactionManager:位於org.springframework.jdbc.datasource包中,資料來源交易管理員,提供對單個javax.sql.DataSource交易管理,用於Spring JDBC抽象架構、iBATIS架構的交易管理;
  • HibernateTransactionManager:位於org.springframework.orm.hibernate3或者hibernate4包中,提供對單個org.hibernate.SessionFactory事務支援,用於整合Hibernate架構時的交易管理;該交易管理員只支援Hibernate3+版本,且Spring3.0+版本只支援Hibernate 3.2+版本;
  • JtaTransactionManager:位於org.springframework.transaction.jta包中,提供對分散式交易管理的支援,並將交易管理委託給Java EE應用伺服器交易管理員;
  • 基於 TransactionDefinition、PlatformTransactionManager、TransactionStatus 編程式交易管理是 Spring 提供的最原始的方式,通常我們不會這麼寫,但是瞭解這種方式對理解 Spring 交易管理的本質有很大作用。
  • 基於 TransactionTemplate 的編程式交易管理是對上一種方式的封裝,使得編碼更簡單、清晰。
  • 基於 TransactionInterceptor 的聲明式事務是 Spring 聲明式事務的基礎,通常也不建議使用這種方式,但是與前面一樣,瞭解這種方式對理解 Spring 聲明式事務有很大作用。
  • 基於 TransactionProxyFactoryBean 的聲明式事務是上中方式的改進版本,簡化的設定檔的書寫,這是 Spring 早期推薦的聲明式交易管理方式,但是在 Spring 2.0 中已經不推薦了。
  • 基於 <tx> 和 <aop> 命名空間的聲明式交易管理是目前推薦的方式,其最大特點是與 Spring AOP 結合緊密,可以充分利用切點運算式的強大支援,使得管理事務更加靈活。
  • 基於 @Transactional 的方式將聲明式交易管理簡化到了極致。開發人員只需在設定檔中加上一行啟用相關後處理 Bean 的配置,然後在需要實施交易管理的方法或者類上使用 @Transactional 指定事務規則即可實現交易管理,而且功能也不必其他方式遜色。

摘自:http://www.ibm.com/developerworks/cn/education/opensource/os-cn-spring-trans/

2015第24周二Spring事務2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.