Spring jar
包含有完整发布的单个jar包他包含有除Spring mockjar之外的所有jar原因是Spring mockjar只有在开发环境中才会用到而且仅仅是作为一个辅助测试类存在除了Spring jarSpring 还包括个独立的jar文件他们各自包含这Spring 各自的组件所以如果你可以明确知道使用Spring 的哪些资源文件时就没必要去直接引入Spring jar但有时候Spring jar的引入也是最偷懒和最直接的方式
Spring corejar
这个jar包含Spring 框架基本的核心工具类Spring 其他组件都要使用到这个包里的类是其他组件的基本核心
Spring beansjar
这个jar是所有应用都要用到的他包含访问配置文件创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类如果应用只需基本的IoC/DI支持引入Spring corejar和Spring beansjar就已经足够了
Spring aopjar
包含一些使用AOP特性时需要用到的一些类在使用Spring 的AOP特性如Declarative Transaction Management(事务管理)就需要用到这个jar文件
Spring contextjar
这个jar文件为Spring 提供了大量扩展可以找到使用Spring ApplicationContext特性时所需的全部类JNDI所需的全部类用来跟模板引擎集成(VelocityFreeMarkerJasperReports)的类以及校验相关类
Spring daojar
包含Spring DAOSpring Transaction进行数据访问的所有类为了使用声明性事务支持还需要在自己的应用里包含Spring aopjar
Spring hibernatejar
是对Hibernate支持的所有类
Spring ormjar
该jar对Spring DAO特性集合进行了扩展使其支持iBATISJDOOJBTopLink由于Spring 将hibernate独立成包了因此在这里没有在支持hibernate这个文件里大部分的类都依赖Spring daojar中的类
Spring remotingjar
这个包提供对EJBJMS以及远程调用(RMIHessianBurlapHttp Invoker JAXRPC)相关的类
Spring supportjar
该组件提供对Cache(ehcache)JCAJMX邮件服务(Java MailCOS Mail)计划任务Scheduling(TimerQuartz)支持的类
Spring webjar
如果web开发中开发而且用到用到Spring 框架那就应该引入这个包该组件包括WebApplicationContext特性的类struts与JSF集成类文件上传的支持类Filter类和大量工具辅助类
Spring webmvcjar
该组件包含Spring MVC框架相关的所有类包含国际化标签Theme视图展现的FreeMarkerJasperReportsTilesVelocityXSLT相关类如果使用了独立的MVC框架则该组件不再需要
Spring mockjar
这个文件中包含Spring 一整套mock类来辅助应用的测试Spring 测试套件使用了大量的mock类这样测试就更加简单了由于可以对HttpServletRequest和HttpServletResponse进行模拟使得对web进行单元测试更加方便
包间引用关系
Spring 中各个包引入之前都需要保证引入 commonsloggingjar
Spring corejar需 commonscollectionsjarSpring corejar 是以下其他各个组件的基础
Spring beansjar 需 Spring corejar/cglibnodep_jar
Spring aopjar 需 Spring corejar/Spring beansjar/cglibnodep_jar/aopalliancejar
Spring contextjar 需Spring corejar/Spring beansjar/Spring aopjar/commonscollectionsjar/aopalliancejar
Spring daojar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring contextjar
Spring jdbcjar 需 Spring corejar/Spring beansjar/Spring daojar
Spring webjar 需 Spring corejar/Spring beansjar/Spring contextjar
Spring webmvcjar 需 Spring corejar/Spring beansjar/Spring contextjar/Spring webjar
Spring hibernatejar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring daojar/Spring jdbcjar/Spring ormjar/Spring webjar/Spring webmvcjar
Spring ormjar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring daojar/Spring jdbcjar/Spring webjar/Spring webmvcjar
Spring remotingjar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring daojar/Spring contextjar/Spring webjar/Spring webmvcjar
Spring supportjar 需 Spring corejar/Spring beansjar/Spring aopjar/Spring daojar/Spring contextjar/Spring jdbcjar
Spring mockjar 需 Spring corejar/Spring beansjar/Spring daojar/Spring contextjar/Spring jdbcjar