电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Spring 2.0的新特性點評

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

Spring2.0的發(fā)布恐怕算得上2006年Java社區(qū)的一件大事了。在Spring2.0發(fā)布附帶的文檔里面對2.0新特性做了概要的介紹,2.0的新特性是自然是我們最關(guān)注的方面:

一、Spring的XML配置引入XML Schema語法簡化配置

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

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

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

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

二、提供了request和session范圍的bean

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

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

三、集成AspectJ,可以管理容器外對象,提供了領(lǐng)域模型的依賴注入

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

在Spring2.0中,可以使用AspectJ對領(lǐng)域模型進行靜態(tài)織入,這樣當該領(lǐng)域模型在容器外被創(chuàng)建的時候,會產(chǎn)生對容器的回調(diào),進行依賴關(guān)系的注入。

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

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

四、JPA支持

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

五、JDBC的NamedParameterJdbcTemplate

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

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

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

七、支持動態(tài)語言ruby,groovy,beanshell

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

八、異步JMS支持,JMX支持,JCA支持的功能完善

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

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

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

總體來說,Spring2.0將向未來的宏大目標又邁進了一大步。不過對于我等普通Java Web項目的開發(fā)需求來說,2.0的新特性也沒有特別需要的。

標簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 安规电容|薄膜电容|陶瓷电容|智旭JEC安规电容厂家 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 专业音响设备_舞台音响设备_会议音响工程-首选深圳一禾科技 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 压滤机-洗沙泥浆处理-压泥机-山东创新华一环境工程有限公司 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 南京办公用品网-办公文具用品批发-打印机耗材采购 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 高柔性拖链电缆-聚氨酯卷筒电缆-柔性屏蔽电缆厂家-玖泰电缆 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 成都租车_成都租车公司_成都租车网_众行宝| 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 上海赞永| 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 冲击式破碎机-冲击式制砂机-移动碎石机厂家_青州市富康机械有限公司 | 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 英超直播_英超免费在线高清直播_英超视频在线观看无插件-24直播网 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | WF2户外三防照明配电箱-BXD8050防爆防腐配电箱-浙江沃川防爆电气有限公司 | 防潮防水通风密闭门源头实力厂家 - 北京酷思帝克门窗 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 |