中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring2.0新特性有哪些

發布時間:2022-01-19 11:38:38 來源:億速云 閱讀:98 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關Spring2.0新特性有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Spring2.0新特性一、Spring的XML配置引入XML Schema語法簡化配置

在Spring1.x系列中,bean的配置文件使用DTD,沒有namespace的分隔。2.0的一個非常大的改進是引入了XML Schema的namespace,因而可以將bean的配置文件做大幅度的簡化。這些簡化包括了對bean屬性的各種簡化,AOP配置的簡化,事務配置的簡化,JNDI配置的簡化等方面。當然,在簡化配置的同時,新的XML Schema實際上引入了更多的XML語法,因此使用一個支持XML Schema的XML Editor就顯得非常必要了,例如Eclipse WTP就可以提供Schema的語法自動提示和校驗功能。

Spring1.x的bean配置文件逐漸復雜煩瑣化,是Spring歷來被人所垢病的主要問題之一。在Spring2.0里面XML Schema語法的配置可以在相當程度上降低配置文件的復雜程度和煩瑣程度,可以視為Spring的重大改進之一。但是我們也必須看到XML Schema并沒有從根源上面解決XML配置復雜的問題,而只是減輕。

將所有的bean之間的依賴關系,組裝關系統統使用XML來描述,本身就會導致XML閱讀和修改一定的困難。并且用XML配置本身無法直接進行單元測試來驗證依賴關系。因此,當bean之間關系越復雜的時候,XML配置文件本身的維護也是一個負擔。

我個人比較期待未來的Spring能夠使用腳本語言來編寫和組裝bean之間的關系,這樣組裝腳本本身也是可測試的,而且腳本的描述能力要遠遠好于XML配置文件,同時編寫和維護起來也比XML輕松。

Spring2.0新特性二、提供了request和session范圍的bean

引入request scope和session scope的bean,我感覺是把雙刃劍。對于普通的Java Web框架應用來說,和Servlet容器相關的操作應該限制在Web層,對于業務層來說,不應該涉及request和session的scope,否則業務層代碼無法脫離Servlet容器進行單元測試。對于使用Webwork/Struts框架的用戶來說,恐怕不太會使用該特性,另外根據我的理解,也許request/session scope的bean也是為了提供給Spring MVC的Controller使用的。

除此之外,對于AJAX Web Service調用來說,這一特性反而是很有用處的。對于這種應用場景,JS通過AJAX調用,拋開Web層框架,直接訪問業務層bean,這個時候就需要提供request/session scope的bean了。

Spring2.0新特性三、集成AspectJ,可以管理容器外對象,提供了領域模型的依賴注入

通常由Hibernate管理的持久化對象PO,并不是由Spring容器初始化的,往往是用戶自己new出來,或者通過find,load方法創建的,其結果就是Spring容器無法對這種容器外創建的對象進行bean依賴關系注入。

在Spring2.0中,可以使用AspectJ對領域模型進行靜態織入,這樣當該領域模型在容器外被創建的時候,會產生對容器的回調,進行依賴關系的注入。

Spring2.0提供的這一特性,確保了Martin Folwer的Rich Domain Object的可行性,這一特性的提供恐怕會對未來很多Java系統的設計產生相當深遠的影響。

其實針對Rich Domain Object更進一步,如果將DAO功能作為Domain Object的抽象父類,那么持久化對象PO就會集PO,DAO,Service對象于一身,整個業務層,持久層完全合并為一個對象,通過這種方式進行框架簡化得到的結果就是,高度類似于ruby on rails的full-stack的MVC框架。

Spring2.0新特性四、JPA支持

這一點其實沒有什么可點評的,提供JPA支持本來就是理所應當之事。

Spring2.0新特性五、JDBC的NamedParameterJdbcTemplate

NamedParameterJdbcTemplate我認為意義非凡,為JDBC查詢提供了帶命名參數的占位符,而不止是JDBC自己的“?”,這樣使用JDBC的時候,也可以很容易的構造出來帶占位符的動態條件查詢,而不是參數值帶入方式的拼接SQL字符串了。


Spring2.0新特性六、Spring Web MVC功能的大幅度擴充

看的出來,在Spring2.0里面 Web MVC功能大幅度擴充,過去不提供的UI Taglib也終于提供了,配置文件也進行了必要的簡化。雖然Spring MVC從框架設計角度來說遠遠不如Webwork那么有創意,但是也是一步一個腳印的改進,再配合上各種外圍框架例如Spring Webflow等的支持,可以預見Spring MVC會成長為Webwork的勁敵。

Spring2.0新特性七、支持動態語言ruby,groovy,beanshell

動態語言支持目前看來還比較簡單,不夠強大,但是表明了Spring的一個態度,其實我個人希望Spring能夠加強這方面支持,甚至大膽一點,提供用動態腳本語言編寫的bean組裝配置。

Spring2.0新特性八、異步JMS支持,JMX支持,JCA支持的功能完善

Spring2.0自身提供了兩類簡單的JMS Containter,此外還提供了外部JMS Server的接口,另外JMX功能的支持,JCA功能的支持都在進一步的完善過程中。

Spring2.0在這幾個方面的功能支持不是那么引入注目,畢竟普通Java Web應用很少使用這些方面。但是Spring提供這些功能的完善支持意義卻很深遠,因為這些功能都是J2EE規范所要求提供的功能,也是傳統應用服務器廠商相對比Java開源框架的傳統優勢項目。一旦Spring2.0對這些功能提供了完善的支持,那么將傳統的Java企業應用完全遷移到Spring框架上面的技術障礙就一掃而空了。

因此Spring是一個野心很大的框架,從現在狀況來看,Spring可以說是Java開源框架之集大成者,從未來來看,Spring將提供J2EE廠商所能夠提供的所有必要的功能,最終Spring將有可能取J2EE規范而代之,成為Java企業開發的事實平臺和事實標準。

感謝各位的閱讀!關于“Spring2.0新特性有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉山县| 冕宁县| 北海市| 翁牛特旗| 卓尼县| 昌平区| 舞阳县| 龙南县| 土默特右旗| 晋州市| 天全县| 武义县| 赤壁市| 自贡市| 滦平县| 崇仁县| 天祝| 洛川县| 广平县| 灵寿县| 盖州市| 上林县| 宜黄县| 余江县| 阿尔山市| 凤台县| 塘沽区| 文山县| 建始县| 河曲县| 卓尼县| 河南省| 娱乐| 伊川县| 二连浩特市| 中阳县| 永川市| 克东县| 施秉县| 乌兰浩特市| 福海县|