Spring 3.0:結(jié)構(gòu)與構(gòu)建的巨大變化
幾天前根據(jù)JavaEye在Twitter上看到的消息,Spring 3.0RC1版發(fā)布了。目前Spring官方還沒有給出下載,是由SpringSource的老員工Arjen Poutsma在Twitter上分享的地址。本篇文章是JavaEye的博主ixu在試用Spring 3.0之后的一些小感想:
下面說說初步看到的變化:
1、項(xiàng)目結(jié)構(gòu)與構(gòu)建變化
解壓后的立即發(fā)現(xiàn),Spring 3.0的項(xiàng)目結(jié)構(gòu)已經(jīng)發(fā)現(xiàn)了巨大變化:
1、Spring3采用多項(xiàng)目結(jié)構(gòu)源碼組織,不再是以前的單一方式,共26個(gè)項(xiàng)目,差不多每個(gè)項(xiàng)目對(duì)于一個(gè)分發(fā)的jar包,不過有些項(xiàng)目是空的,或者是為了構(gòu)建而設(shè)。
2、不再提供完整打包文件spring.jar,而是20個(gè)jar(或稱bundle),一方面應(yīng)該也是向osgi靠攏。
Spring 3.0的readme中說道:
Note that this release does not contain a 'spring.jar' file anymore, in contrast to previous Spring generations. Furthermore, the jar file names follow bundle repository conventions now.
(51CTO編輯快譯:與之前的Spring版本相反,此次發(fā)布不再包括spring.jar文件了。新版本中的jar文件命名由bundle版本庫的規(guī)則所決定。)
3、采用Ivy為主構(gòu)建方式,當(dāng)然仍然有Maven,項(xiàng)目結(jié)構(gòu)由Maven管理。另外沒有打包全部的依賴包了,整個(gè)下載包比2.5的小了近一半
4、Spring3已經(jīng)完全采用Java5/6開發(fā)和編譯構(gòu)建,因此應(yīng)該是不再支持Java1.4及更早版本了
2、框架結(jié)構(gòu)的變化
框架結(jié)構(gòu)的架構(gòu)圖也進(jìn)一步演變了,不再是原來那個(gè)簡(jiǎn)單的方塊圖:
Spring3架構(gòu)圖
跟原來的相比,DAO、ORM、JEE等模塊被劃歸到了一起,成為“數(shù)據(jù)訪問/集成”部分,Web層突出了自己的MVC(Servlet)和Portlet,核心容器增加了表達(dá)式語言。另外,對(duì)測(cè)試的支持也放到了整個(gè)架構(gòu)中來了。所以整個(gè)框架重新劃分成了五部分。
因此,典型的全應(yīng)用場(chǎng)景也相應(yīng)變化,并提示使用自家的Tomcat:
先說這些,Spring 3.0新特性請(qǐng)等待之后的更新吧,當(dāng)然可以先參考一下Spring 3.0新增特性與功能前瞻這篇文章。
【編輯推薦】