?
本文檔使用 PHP中文網(wǎng)手冊 發(fā)布
Spring 2.0關(guān)于事務(wù)的配置方式發(fā)生了重大的變化。早先的1.2.x版本的配置方式仍然有效(并且受支持),但是新的方式明顯更加簡潔,并成為最推薦的方式。 Spring 2.0 同時(shí)提供了AspectJ切面庫,你可以使用它來生成更漂亮的事務(wù)性對象 - 甚至可以不是由Spring IoC容器產(chǎn)生的。
Spring 2.5在裝載時(shí)植入外還支持方便的注解驅(qū)動的事務(wù)管理,這是通過context:load-time-weaver
和tx:annotation-driven mode="aspectj"
的聯(lián)合使用進(jìn)行的。
標(biāo)題為 第?9?章 事務(wù)管理 的部分包含所有的細(xì)節(jié)。
Spring 2.5 明確支持IBM的WebSphere Application Server,特別是WebSphere's transaction manager. Transaction suspension(事務(wù)掛起)現(xiàn)在通過使用WebSphere新的UOWManager
API得到了完整支持,此API在on WAS 6.0.2.19+ and 6.0.1.9+ 可用。
因此如果你在WebSphere Application Server中運(yùn)行基于Spring的應(yīng)用程序,我們高度建議你使用Spring 2.5的WebSphereUowTransactionManager
作為你選擇的PlatformTransactionManager
。這也是 IBM官方的建議。
要自動探測底層的JTA 事務(wù)平臺,可以使用Spring 2.5的新 tx:jta-transaction-manager
配置元素。它會自動探測BEA WebLogic和IBM WebSphere,注冊正確的PlatformTransactionManager
。
Spring 2.0提供了JPA抽象層,在所起的作用與常規(guī)使用模式上,類似于Spring的JDBC抽象層。
如果你對使用實(shí)現(xiàn)JPA作為自己持久層的基礎(chǔ)感興趣,標(biāo)題為 第?12.6?節(jié) “JPA” 的部分專門描述了在這個(gè)領(lǐng)域Spring的支持與附加值。
Spring 2.5對OpenJPA的支持升級到了OpenJPA 1.0,支持savepoint這樣的高級特性。
在Spring 2.0之前,Spring的JMS的作用局限于發(fā)送消息和同步接收消息。
這個(gè)功能(封裝在 JmsTemplate
類中)當(dāng)然是很好的,
但是,它沒有滿足異步消息接收的需要。
Spring 2.0現(xiàn)在提供對異步消息接收的完整支持。在標(biāo)題為 第?19.4.2?節(jié) “異步接收 - 消息驅(qū)動的POJO” 的部分有詳細(xì)的描述。
在Spring 2.5中, JCA風(fēng)格的異步消息監(jiān)聽器設(shè)置也通過GenericMessageEndpointManager
工具得到了支持。這是對標(biāo)準(zhǔn)JMS監(jiān)聽器工具的補(bǔ)充,允許對ActionMQ和JORAM這些消息broker進(jìn)行更深入的集成。參見第?19.5?節(jié) “JCA消息端點(diǎn)的支持”。
Spring 2.5 還引入了一個(gè)XML namespace來簡化JMS配置,可以對大量監(jiān)聽器進(jìn)行簡明配置。這一命名空間支持標(biāo)準(zhǔn)的JMS監(jiān)聽器和JCA setup風(fēng)格,在配置時(shí)只有很小的改變。參閱第?19.6?節(jié) “JMS命名空間支持”。
在Spring的JDBC支持庫中,有幾個(gè)小的(但同樣值得注意的)新類。首先,NamedParameterJdbcTemplate
,
提供了在編寫JDBC語句時(shí),對使用命名參數(shù)(與之相對的是編寫JDBC語句時(shí)只使用常規(guī)的占位符('?'
))的支持。
另一個(gè)新類,SimpleJdbcTemplate
,
致力于在使用Java 5+ (Tiger)開發(fā)時(shí)更加簡單地使用JdbcTemplate
。
Spring 2.5顯著的擴(kuò)充了SimpleJdbcTemplate
的功能,引入了SimpleJdbcCall
和SimpleJdbcInsert
操作對象。