Spring 發布包不僅提供單一 spring.jar(含幾乎所有類),還拆分為 8 個獨立模塊 JAR(未來可能更多),讓開發者精準選擇所需特性,避免引入無用類。
| JAR 文件 | 核心內容 | 適用場景 |
|---|---|---|
| spring-aop.jar | AOP 特性類、聲明式事務管理依賴 | 使用 AOP 或聲明式事務時必選 |
| spring-context.jar | ApplicationContext、EJB/JNDI/郵件整合、遠程調用、模板引擎整合、驗證基類 | 需上下文特性、企業級整合時 |
| spring-core.jar | 核心容器:配置訪問、Bean 創建管理、DI 操作、通用工具類 | 所有應用必需;僅需基本 DI 時此包足夠 |
| spring-dao.jar | DAO 支持基類、JDBC 數據訪問、事務抽象層 | 數據訪問層;聲明式事務仍需 spring-aop.jar |
| spring-mock.jar | 完整 Mock 類庫(HttpServletRequest/Response 等) | 單元測試環境,Web 應用測試極大簡化 |
| spring-orm.jar | Hibernate/iBATIS/JDO 整合擴展 | ORM 整合;強依賴 spring-dao.jar |
| spring-web.jar | Web 核心類:自動載入 ApplicationContext、Struts 整合、文件上傳、解析工具 | Web 應用基礎 |
| spring-webmvc.jar | Spring MVC 框架完整類 | 使用 Spring MVC 時;獨立 MVC 框架則無需 |
spring.jar,省心。spring-core.jar,極輕量。未來每個 ORM 工具(Hibernate/iBATIS/JDO)可能進一步拆分為獨立 JAR,使用 iBATIS 時無需引入 Hibernate/JDO 相關類,粒度更細、體積更優。