国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Spring入門指引之理解Spring的打包方式

2024-07-21 02:14:38
字體:
來源:轉載
供稿:網友
  獲取spring發布包之后,你或許會驚訝的發現:spring開發小組并沒有用單個jar文件來包含所有代碼,而是選擇建立包含有完整發布的單個jar和8個獨立jar文件來包含對應的spring組件。未來版本的組件jar文件數量很可能會有所增加,可令你更加自如的選擇自己的代碼要包含的特性。

  完整發布包

  所有發布版本都提供spring.jar文件,它差不多包含spring framework類的完整發布包。之所以說“差不多”是因為它實際上并未包含任何mock類,這些類隨spring一起發布,作為輔助測試之用。這可是spring開發小組的明智決定,因為發布應用時你幾乎從不需要同時分發mock類;你只是在開發環境下用它們來輔助測試過程。除此之外,spring.jar文件包含spring main源碼樹里所有其它類。

  組件發布包

  除了spring.jar文件,spring還包括前面提及的另外8個jar文件;其中一個包含mock類,另外七個包含spring framework的獨立組件。表2-1列出了這些jar文件,并伴有對應組件的說明。


表2-1:spring組件發布包

jar文件

說 明
spring-aop.jar這個jar文件包含在應用中使用spring的aop特性時所需的所有類。如果打算使用其它基于aop的spring特性,比如聲明型事務管理(declarative transaction management),也需要在應用里包含這個jar文件。
spring-context.jar 這個包里的類為spring核心提供了大量擴展。你可以找到使用spring applicationcontext特性(第5章有介紹)時所需的全部類,以及支持ejb、jndi和郵件集成所需的類。此外這個包還囊括spring遠程調用(remoting)類,用來與模板(templating)引擎如velocity和freemarker集成的類,以及驗證基類(base validation class)。值得注意的是,實際上許多類被包含在這個包里并不是太恰當,比如遠程調用和ejb支持之類的特性,打包成單獨的jar文件更為恰當。
spring-core.jar 所有應用都要用到這個jar文件,它包含訪問配置文件、創建和管理bean以及進行di操作相關的所有類。如果你的應用只需基本的di支持,該jar文件足以滿足需要。此外該jar文件還包含一組極為有用的工具類,spring代碼庫大量使用了這些類,也可以用在自己的應用中。
spring-dao.jar 這個jar文件囊括spring dao支持相關的所有基類,還包含用jdbc和spring的事務抽象層(transaction abstraction layer)進行數據訪問的所有類。為了使用聲明型事務支持,還需在自己的應用里包含spring-aop.jar。
spring-mock.jar 前面已經提及,spring提供了一整套mock類來輔助應用的測試。spring測試套件使用了其中大量mock類,因此它們已久經考驗,可令你的應用測試更為簡單。至于模擬(mock)httpservletrequest 和httpservletresponse類在web應用單元測試中的巨大用處,更是毋須贅言。
spring-orm.jar這個jar文件對spring的標準dao特性集進行了擴展,使其支持hibernate、ibatis和jdo。這個jar文件里大量的類都依賴spring-dao.jar里的類,毫無疑問你需要同時包含后者。將來每個orm工具或許會單獨打包,這樣一來,使用ibatis時你的應用就無需再包含hibernate和jdo相關的類。
spring-web.jar這個jar文件包含web應用使用spring時所需的核心類,包括自動載入applicationcontext特性的類、struts集成類、文件上傳的支持類和大量輔助類,用來執行重復性的任務如解析查詢(query)字符串里的int值。
spring-webmvc.jar
這個jar文件囊括spring mvc框架相關的所有類。如果你的應用使用了獨立的mvc框架,則無需這個jar文件里的任何類。第18章會對spring mvc作更詳細的介紹。

  如何選擇發布包

  決定選用哪些發布包其實相當簡單。如果你正在構建web應用并將全程使用spring,那么最好使用spring.jar文件,以免陷入忙于維護不同文件之泥沼。同樣的,如果你的應用僅僅用到簡單的di容器,那么只需spring-core.jar即可搞定。如果你對發布的大小要求很高,那么理應精挑細選,只取用包含自己所需特性的jar文件。

  注意上述組件發布包的粒度實際上并不是那么?。徊贿^顯然你至少可以避免包含自己的應用不需要的全部類(譯注:即還是會包含一些不需要的類)?;蛟S你可以設法令整個應用稍稍變小,不過節省空間的重頭戲在于如何準確找出自己所需的spring依賴關系,合者納之,余者棄之。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桦南县| 额济纳旗| 甘南县| 建瓯市| 闵行区| 寿光市| 禄劝| 南投市| 文昌市| 松桃| 廉江市| 安图县| 南靖县| 双江| 肇州县| 新泰市| 丰镇市| 油尖旺区| 始兴县| 五原县| 虹口区| 长泰县| 临安市| 东安县| 桑植县| 寿阳县| 邳州市| 嘉禾县| 平陆县| 新河县| 天津市| 通渭县| 淄博市| 上思县| 开原市| 道孚县| 全州县| 从江县| 荔波县| 铁力市| 锦州市|