成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Spring 2.0的新特性點評

瀏覽:203日期:2024-06-08 10:44:47

Spring2.0的發布恐怕算得上2006年Java社區的一件大事了。在Spring2.0發布附帶的文檔里面對2.0新特性做了概要的介紹,2.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輕松。

二、提供了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了。

三、集成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框架。

四、JPA支持

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

五、JDBC的NamedParameterJdbcTemplate

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

六、Spring Web MVC功能的大幅度擴充

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

七、支持動態語言ruby,groovy,beanshell

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

八、異步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將向未來的宏大目標又邁進了一大步。不過對于我等普通Java Web項目的開發需求來說,2.0的新特性也沒有特別需要的。

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日本韩国欧美三级| 夜夜精品视频一区二区| 国产精品高清亚洲| 亚洲高清视频一区二区| 亚洲超碰精品一区二区| 日韩欧美www| 亚洲一区二区在线免费观看| 国产一区二区女| 亚洲日本在线a| 欧美一级欧美一级在线播放| 尤妮丝一区二区裸体视频| 麻豆成人91精品二区三区| 欧美国产日韩一二三区| 欧美午夜精品久久久久久超碰| 欧美高清不卡| 精品一区二区三区免费视频| 久久久午夜精品| 一本大道久久a久久精品综合| 成人黄动漫网站免费app| 本田岬高潮一区二区三区| 一区二区欧美视频| 久久免费精品国产久精品久久久久| 久久精品五月| 国产精品国产三级欧美二区| 国产一区二区三区综合| 香蕉乱码成人久久天堂爱免费| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产欧美一区二区三区另类精品| 美国欧美日韩国产在线播放| 一区二区三区中文字幕| 国产午夜亚洲精品理论片色戒| 欧美色区777第一页| 国产日韩欧美一区二区三区四区 | 国产亚洲欧洲| 亚洲精品欧洲精品| 欧美激情1区| 99精品一区二区三区| 国产成人综合在线播放| 国内精品久久久久影院色| 日韩av一二三| 亚洲欧洲在线观看av| 久久久久青草大香线综合精品| 91麻豆精品国产91久久久久 | 午夜精品福利一区二区三区蜜桃| 国产精品久久久久影院色老大| 亚洲精品在线免费观看视频| 日韩精品中文字幕一区二区三区 | 久久疯狂做爰流白浆xx| 日本免费在线视频不卡一不卡二| 午夜国产精品一区| 蜜臀久久99精品久久久久宅男| 美美哒免费高清在线观看视频一区二区 | 好吊色欧美一区二区三区四区| 9人人澡人人爽人人精品| 国产成人免费在线| 国产精品亚洲成人| 成人黄色小视频| 豆国产96在线|亚洲| 成人午夜激情影院| 欧美成人精品| 色综合久久综合| 精品1区2区| 久久riav二区三区| 色八戒一区二区三区| 欧美三级韩国三级日本三斤| 欧美肥大bbwbbw高潮| 日韩精品一区二区三区在线播放| 精品国产亚洲在线| 国产精品久久久久久久久久久免费看| 国产精品二三区| 午夜精品免费在线| 国产精品77777| jiyouzz国产精品久久| 国产精品国产亚洲精品看不卡15| 国产精品乱码一区二区三区| 欧美日韩亚州综合| 国产精品久久福利| 国产资源在线一区| 狠狠久久综合婷婷不卡| 翔田千里一区二区| 日韩一区二区三区在线| 亚洲色图欧美在线| 激情欧美一区二区| 伊人成人在线| 欧洲亚洲国产日韩| 国产欧美1区2区3区| 视频一区欧美精品| 国产成a人无v码亚洲福利| 激情综合中文娱乐网| 色哟哟日韩精品| 久久久久综合网| 亚瑟在线精品视频| 成人激情动漫在线观看| 国产偷久久久精品专区| 欧美午夜精品久久久久久超碰| 亚洲精品一线二线三线| 日本视频免费一区| 国内在线观看一区二区三区| 精品视频123区在线观看| 欧美高清一级片在线观看| 日韩电影在线观看电影| 欧美日韩99| 欧美日韩一区二区三区四区 | 国产精品一区二区你懂的| 一区在线视频观看| 91精品国产欧美一区二区18 | 99re8在线精品视频免费播放| 久久婷婷激情| 中文字幕一区二区三区精华液| 精品一区二区日韩| 久久国产直播| 中文成人av在线| 成人午夜av电影| 欧美色综合网站| 亚洲国产中文字幕| 国语精品一区| 久久久久久久综合| 成人性生交大片免费| 日本道精品一区二区三区| 亚洲欧洲国产日韩| 99精品视频在线观看免费| 欧美日韩国产三级| 人人狠狠综合久久亚洲| 国产精品久久久久久久免费软件| 久久综合久久久久88| 国模大尺度一区二区三区| 国产一区二区精品| 成人免费在线视频观看| 91免费精品国自产拍在线不卡 | 99re成人在线| 一区在线视频观看| 国产成人精品影视| 91啪亚洲精品| 99麻豆久久久国产精品免费优播| 一本久久a久久精品亚洲| 欧美猛男超大videosgay| 蜜臀91精品一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 丝瓜av网站精品一区二区| 精品中文字幕一区二区| 亚洲午夜免费视频| 国色天香一区二区| 色综合中文字幕国产 | 久久众筹精品私拍模特| 婷婷一区二区三区| 午夜一级在线看亚洲| 一区二区三区精品视频| 老司机一区二区三区| 久久精品国产**网站演员| 久久久久欧美精品| 奇米色一区二区| 欧美日韩和欧美的一区二区| 大陆成人av片| 亚洲国产精品传媒在线观看| 欧美日韩一区在线视频| 樱桃国产成人精品视频| 久久久久久久波多野高潮日日| 久热成人在线视频| 精品国产a毛片| 亚洲网友自拍| 亚洲国产精品久久久男人的天堂| 香蕉亚洲视频| 国产99精品国产| 国产精品丝袜久久久久久app| 伊人成人在线视频| 日韩国产在线一| 日韩欧美在线综合网| 亚洲午夜在线观看| 日本一不卡视频| 精品国产亚洲在线| 国产日韩欧美一区在线| 五月激情丁香一区二区三区| 欧美日韩亚洲丝袜制服| 99精品欧美一区| 亚洲黄色av一区| 欧美精品久久99| 欧美日韩亚洲一区三区| 亚洲成人免费影院| 日韩欧美亚洲另类制服综合在线| 欧美日韩一区在线播放| 日本欧美一区二区三区| 欧美videossexotv100| 国产精品二区在线| 日韩精品久久理论片| 久久久久久久久久看片| 国产美女精品| 99久久精品国产网站| 亚洲成人先锋电影| 久久美女艺术照精彩视频福利播放| 亚洲一区高清| 色综合网站在线| 裸体在线国模精品偷拍| 国产精品伦一区| 69p69国产精品| 在线观看一区| 国产制服丝袜一区| 亚洲成人一区二区| 1区2区3区国产精品| 欧美成人a视频| 久久午夜精品一区二区|