<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    xyz20003

    www.mossle.com
    隨筆 - 34, 文章 - 0, 評論 - 124, 引用 - 0
    數(shù)據(jù)加載中……

    [譯]Spring 3.0發(fā)布:基于Java 5開發(fā),添加了新的表達式語言和對REST的支持

    原文地址:http://www.infoq.com/news/2009/12/spring30

    同志們,Spring框架的3.0版本終于在今天發(fā)布啦。InfoQ特別對話了Spring框架項目的技術頭領Juergen Hoeller,從他口中了解到不少關于這次發(fā)布對Spring集團帶來的改變。

    Hoeller詳細羅列了Spring 3.0中的各項新特性:

    * 基于Java 5 - 目前核心API已經(jīng)使用了Java 5的特性,諸如泛型、注解等等,因此現(xiàn)在Spring 3.0必須使用Java 5和以后版本才能跑起來。

    * Spring表達式語言(SpEL) - 這個和JSF中的統(tǒng)一EL類似,我們可以很容易在Spring 3.0中使用復雜表達式了。

    * 提升對基于注解組件的支持 - Spring JavaConfig其中的一些功能已經(jīng)被遷移到核心框架中,比如@Configuration,@Bean和@DependsOn。

    * 可以使用約束注解聲明對模型的校驗方式 - 提供了對JSR 303的支持,我們可以使用注解為bean添加諸如@NotNull和@Max(23)的校驗規(guī)則。

    * Spring MVC中提供對REST的綜合支持 - 添加了在服務器端和客戶端使用RESTful應用的功能。

    * 提供對Java EE 6的支持 - 支持了許多Java EE 6中的功能,比如JPA 2.0和JSF 2.0,讓它們可以運行在非EE 6的容器下,比如Tomcat和J2EE 1.4應用服務器。

    * 提供對JSR 330的支持 - 現(xiàn)在Spring已經(jīng)支持了JSR 330中介紹的javax.inject注解。

    * 基于注解進行格式化 - bean的屬性可以使用注解來自動進行格式化和類型轉換,比如@DateFimeFormat(iso=ISO.DATE)和@NumberFormat(style=Style.CURRENCY)。

    Spring還提供了完整的修改日志參考文檔。(譯者注:文檔方面Spring做的確實太好了,也再次感謝滿江紅團隊的辛勤勞動。)

    Hoeller在提到SpEL時,多說了那么幾句:

    SpEL是一種功能強大的表達式語言,語法基于統(tǒng)一表達式(Unified EL),實際上它與JSF中使用的表達式非常類似。我們特別為SpEL開發(fā)了自己的表達式解析器以提供特定的功能,無論是在使用bean定義配置還是使用 Spring Integration這類項目時都可以帶來不少好處。其實在Spring核心中已經(jīng)有很多地方都應用了像"#{...}"這樣的表達式,可以在XML的 bean定義中看到許多這樣的例子。還有@Value這個注解,它可以通過名稱動態(tài)引用其他的bean,并且可以非常簡單就獲取這些bean的屬性。

    舉個例子,下面這段XML配置(來自3.0參考文檔)使用了SpEL來配置bean的屬性,屬性值來自于JVM系統(tǒng)參數(shù):

    <bean class="mycompany.RewardsTestDatabase">
        
    <property name="databaseName"
            value
    ="#{systemProperties.databaseName}"/>

        
    <property name="keyGenerator"
            value
    ="#{strategyBean.databaseKeyGenerator}"/>
    </bean>

    Hoeller也著重介紹了Spring 3.0中對REST的支持:

    我們面對的挑戰(zhàn)是在Spring MVC的世界中加入對REST的支持,把這種強大的新功能交到MVC用戶的手中。我們決定從底層為MVC支持路徑變量的提取 - 這部分內容協(xié)商的方向是正確的 - 考慮到Spring MVC的實力,并把它們拉升到另一種層次,同時又不會破壞基本架構。工作進展的非常順利,可以在已有的Spring MVC應用中使用REST的特性。

    我們的重點聚焦在web用戶接口在REST下的轉換方式上。下一步呢,在Spring MVC的基礎上實現(xiàn)基于REST的網(wǎng)絡服務(Web Service)也是很有意思的一件事情,特別是OXM(Object/XML Mapping)現(xiàn)在已經(jīng)成為了Spring核心模塊之一,OXM可以和Spring MVC聯(lián)合應用。最后,我們提供了RestTemplate類,這是一個Spring式的模板類,它作為客戶端提供了與面向REST終端服務器進行交互的 更易用的編程方式。

    對于那些工作在Spring 2.5之上,并且已經(jīng)在代碼中使用了基于注解樣式的同志們,這次升級的路線將是非常平滑的 - 新功能可以在升級到3.0之后任意選擇使用,不需要對基礎架構進行任何修改。對于那些還在使用老版本,比如繼承了表單控制器,這些功能在3.0中還是可以 繼續(xù)使用的,只是這些功能都已經(jīng)被標記為“被廢棄了”(deprecated)。如果想使用3.0中的新特性,就必須先使用基于注解的@MVC樣式。對于 Spring 2.0用戶,99%的代碼依然可以正常運行,但是對一些老組件的支持,比如Apache Commons Attributes, WebLogic 8.1 和 WebSphere 5.1,都已經(jīng)被刪除了。

    當提起Spring框架的未來計劃時,Hoeller提到開發(fā)會受到Spring集團中的其他項目的很大影響,比如Spring Integration, Spring Web Flow, Spring Source dm ServerSpring Roo等 等。在3.1的發(fā)布的新特性就會被Spring Integration 2.0和Spring Web Flow所影響,比如計劃中的第一類會話管理(first-class conversation management),擴充作用域(scope)和細化基于注解的組件模型。2010年中旬中的3.1發(fā)布之后,會進入3.2版本,對于3.2版本的具 體計劃還沒有最終完成。

    posted on 2009-12-18 07:49 臨遠 閱讀(1778) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲精品中文字幕麻豆| 国产黄片不卡免费| 九月丁香婷婷亚洲综合色| 青青青青青青久久久免费观看| 一级毛片免费观看| 一边摸一边桶一边脱免费视频| 中文字幕在线日亚洲9| 亚洲乱亚洲乱淫久久| 国产亚洲美日韩AV中文字幕无码成人| 最近最新的免费中文字幕| 免费国产黄网站在线观看视频| www免费黄色网| 羞羞视频免费网站含羞草| 久久久久亚洲国产| 亚洲国产一区在线观看| 亚洲一级二级三级不卡| 亚洲精品午夜国产VA久久成人| 亚洲福利视频一区二区| 国产18禁黄网站免费观看| 最近免费中文字幕大全视频| 永久看日本大片免费35分钟| 特级无码毛片免费视频尤物| 18禁超污无遮挡无码免费网站| 一级毛片一级毛片免费毛片| 视频一区二区三区免费观看| 亚洲av无码成人精品国产| 亚洲精品无码aⅴ中文字幕蜜桃| 456亚洲人成影院在线观| 亚洲一区免费视频| 亚洲熟妇色自偷自拍另类| 666精品国产精品亚洲| 亚洲天天做日日做天天欢毛片| 国产A在亚洲线播放| 久久精品国产精品亚洲色婷婷| 国产成A人亚洲精V品无码| 亚洲AV无码久久精品成人| 亚洲人成网站影音先锋播放| 久久亚洲中文字幕精品有坂深雪| 亚洲国产精品不卡在线电影| 久久丫精品国产亚洲av| 亚洲精品人成电影网|