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

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

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

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    Spring是一個開源框架,它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。

    • 目的:解決企業應用開發的復雜性

    • 功能:使用基本的JavaBean代替EJB,并提供了更多的企業應用功能

    • 范圍:任何Java應用

    簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。

    ■ 輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴于Spring的特定類。

    ■ 控制反轉——Spring通過一種稱作控制反轉(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。

    ■ 面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務()管理)進行內聚性的開發。應用對象只實現它們應該做的——完成業務邏輯——僅此而已。它們并不負責(甚至是意識)其它的系統級關注點,例如日志或事務支持。

    ■ 容器——Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創建——基于一個可配置原型(prototype),你的bean可以創建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關聯的。然而,Spring不應該被混同于傳統的重量級的EJB容器,它們經常是龐大與笨重的,難以使用。

    ■ 框架——Spring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發留給了你。

    所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。

    Spring簡介
    關于Spring Framework,今年夏天你可能已經聽見很多的議論。在本文中,我將試圖解釋Spring能完成什么,和我怎么會認為它能幫助你開發J2EE應用程序。

    另一framework?
    你可能正在想“不過是另外一個的framework”。當已經有許多開放源代碼(和專有) J2EE framework時,為什么你應該費心讀這篇文章,或下載Spring Framework?

    我相信Spring是獨特的,因為若干個原因:
    . 它定位的領域是許多其他流行的framework沒有的。Spring關注提供一種方法管理你的業務對象。
    . Spring是全面的和模塊化的。Spring有分層的體系結構,這意味著你能選擇使用它孤立的任何部分,它的架構仍然是內在穩定的。因此從你的學習中,你可得到最大的價值。例如,你可能選擇僅僅使用Spring來簡單化JDBC的使用,或用來管理所有的業務對象。
    . 它的設計從底部幫助你編寫易于測試的代碼。Spring是用于測試驅動工程的理想的framework。

    Spring對你的工程來說,它不需要一個以上的framework。Spring是潛在地一站式解決方案,定位于與典型應用相關的大部分基礎結構。它也涉及到其他framework沒有考慮到的內容。

    盡管它僅僅是一個從2003年2月才開始的開源工程,但Spring有較長的歷史根基。這個開源工程是起源自我在2002年后期出版的《Expert One-on-One J2EE設計與開發》書中的基礎代碼。這本書展示了Spring背后的基礎架構。然而,這個基礎架構的概念要追溯到2000年的早些時候,并且反映了我為一系列成功的商業工程開發基礎結構的經驗。

    從2003年1月,Spring已經落戶于SourceForge上。現在有10個開發人員,其中6是高度投入的積極分子。

    Spring的架構性的好處

    在我們進入細節以前,讓我們看一下Spring可以給一個工程帶來的一些好處:

    . Spring能有效地組織你的中間層對象,無論你是否選擇使用了EJB。如果你僅僅使用了Struts或其他的包含了J2EE特有APIs的framework,你會發現Spring關注了遺留下的問題,。

    . Spring能消除在許多工程上對Singleton的過多使用。根據我的經驗,這是一個主要的問題,它減少了系統的可測試性和面向對象特性。

    . Spring能消除使用各種各樣格式的屬性定制文件的需要,在整個應用和工程中,可通過一種一致的方法來進行配置。曾經感到迷惑,一個特定類要查找迷幻般的屬性關鍵字或系統屬性,為此不得不讀Javadoc乃至源編碼嗎?有了Spring,你可很簡單地看到類的JavaBean屬性。倒置控制的使用(在下面討論)幫助完成這種簡化。

    . Spring能通過接口而不是類促進好的編程習慣,減少編程代價到幾乎為零。
    . Spring被設計為讓使用它創建的應用盡可能少的依賴于他的APIs。在Spring應用中的大多數業務對象沒有依賴于Spring。
    . 使用Spring構建的應用程序易于單元測試。
    . Spring能使EJB的使用成為一個實現選擇,而不是應用架構的必然選擇。你能選擇用POJOs或local EJBs來實現業務接口,卻不會影響調用代碼。
    . Spring幫助你解決許多問題而無需使用EJB。Spring能提供一種EJB的替換物,它們適于許多web應用。例如,Spring能使用AOP提供聲明性事務而不通過使用EJB容器,如果你僅僅需要與單個的數據庫打交道,甚至不需要JTA實現。
    . Spring為數據存取提供了一致的框架,不論是使用JDBC或O/R mapping產品(如Hibernate)。
    Spring確實使你能通過最簡單可行的解決辦法解決你的問題。這些特性是有很大價值的。

    Spring能做什么?

    Spring提供許多功能,在此我將快速地依次展示其各個主要方面。

    任務描述:
    首先,讓我們明確Spring范圍。盡管Spring覆蓋了許多方面,但我們已經有清楚的概念,它什么應該涉及和什么不應該涉及。

    Spring的主要目的是使J2EE易用和促進好編程習慣。
    Spring不重新開發已有的東西。因此,在Spring中你將發現沒有日志記錄的包,沒有連接池,沒有分布事務調度。這些均有開源項目提供(例如Commons Logging 用來做所有的日志輸出,或Commons DBCP用來作數據連接池),或由你的應用程序服務器提供。因為同樣的的原因,我們沒有提供O/R mapping層,對此,已有有好的解決辦法如Hibernate和JDO。

    Spring的目標是使已存在的技術更加易用。例如,盡管我們沒有底層事務協調處理,但我們提供了一個抽象層覆蓋了JTA或任何其他的事務策略。

    Spring沒有直接和其他的開源項目競爭,除非我們感到我們能提供新的一些東西。例如,象許多開發人員,我們從來沒有為Struts高興過,并且感到在MVC web framework中還有改進的余地。在某些領域,例如輕量級的IoC容器和AOP框架,Spring有直接的競爭,但是在這些領域還沒有已經較為流行的解決方案。(Spring在這些區域是開路先鋒。)

    Spring也得益于內在的一致性。
    所有的開發者都在唱同樣的的贊歌,基礎想法依然是Expert One-on-One J2EE設計與開發的那些。
    并且我們已經能夠使用一些主要的概念,例如倒置控制,來處理多個領域。

    Spring在應用服務器之間是可移植的。
    當然保證可移植性總是一次挑戰,但是我們避免任何特定平臺或非標準化,并且支持在WebLogic,Tomcat,Resin,JBoss,WebSphere和其他的應用服務器上的用戶。
    posted on 2008-04-03 10:27 HUIKK 閱讀(496) 評論(1)  編輯  收藏 所屬分類: Spring

    評論

    # re: Spring 是什么 2008-11-25 19:40 昊天
    多謝啦……  回復  更多評論
      

    主站蜘蛛池模板: 亚洲美女免费视频| 亚洲色欲啪啪久久WWW综合网| 久久aⅴ免费观看| 看免费毛片天天看| 亚洲av永久无码精品天堂久久| 亚洲人成无码www久久久| 久久精品免费一区二区喷潮| 国产成人精品无码免费看 | 国产免费无码AV片在线观看不卡 | 免费人成在线观看网站视频| 91福利视频免费| 无码国产精品一区二区免费16| 国产亚洲精品美女久久久久| 国产婷婷综合丁香亚洲欧洲| 67pao强力打造67194在线午夜亚洲 | 亚洲综合激情五月色一区| 五月天网站亚洲小说| 国产精品亚洲一区二区三区在线| 一本久到久久亚洲综合| 国产91精品一区二区麻豆亚洲| 全黄a免费一级毛片人人爱| 午夜亚洲福利在线老司机| 亚洲性在线看高清h片| 国产亚洲婷婷香蕉久久精品| 亚洲成人激情在线| 亚洲欧洲自拍拍偷综合| 亚洲AV无码精品蜜桃| 曰批全过程免费视频免费看 | 亚洲人成在线免费观看| 亚洲欧洲无码一区二区三区| 国产99久久亚洲综合精品| eeuss影院www天堂免费| 成年人网站免费视频| 免费va在线观看| 亚洲精品美女久久久久| 美女被免费网站在线视频免费| 永久免费不卡在线观看黄网站| 最近免费中文字幕高清大全| 国产在线a不卡免费视频| 亚洲日本一区二区| 一级做a免费视频观看网站|