spring
jar是包含有完整发布的单个jar包
spring
jar中包含除了spring
mock
jar里所包含的内容外其它所有jar包的内容
因为只有在开发环境下才会用到spring
mock
jar来进行辅助测试
正式应用系统中是用不得这些类的
除了springjar文件Spring还包括有其它个独立的jar包各自包含着对应的Spring组件用户可以根据自己的需要来选择组合自己的jar包而不必引入整个springjar的所有类文件
() springcorejar
这个jar文件包含Spring框架基本的核心工具类Spring其它组件要都要使用到这个包里的类是其它组件的基本核心当然你也可以在自己的应用系统中使用这些工具类
() springbeansjar
这个jar文件是所有应用都要用到的它包含访问配置文件创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类如果应用只需基本的IoC/DI支持引入springcorejar及springbeansjar文件就可以了
() springaopjar
这个jar文件包含在应用中使用Spring的AOP特性时所需的类使用基于AOP的Spring特性如声明型事务管理(Declarative Transaction Management)也要在应用里包含这个jar包
() springcontextjar
这个jar文件为Spring核心提供了大量扩展可以找到使用Spring ApplicationContext特性时所需的全部类JDNI所需的全部类UI方面的用来与模板(Templating)引擎如VelocityFreeMarkerJasperReports集成的类以及校验Validation方面的相关类
() springdaojar
这个jar文件包含Spring DAOSpring Transaction进行数据访问的所有类为了使用声明型事务支持还需在自己的应用里包含springaopjar
() springhibernatejar
这个jar文件包含Spring对Hibernate 及Hibernate 进行封装的所有类
() springjdbcjar
这个jar文件包含对Spring对JDBC数据访问进行封装的所有类
() springormjar
这个jar文件包含Spring对DAO特性集进行了扩展使其支持 iBATISJDOOJBTopLink因为Hibernate已经独立成包了现在不包含在这个包里了这个jar文件里大部分的类都要依赖springdaojar里的类用这个包时你需要同时包含springdaojar包
() springremotingjar
这个jar文件包含支持EJBJMS远程调用Remoting(RMIHessianBurlapHttp InvokerJAXRPC)方面的类
() springsupportjar
这个jar文件包含支持缓存Cache(ehcache)JCAJMX邮件服务(Java MailCOS Mail)任务计划Scheduling(TimerQuartz)方面的类
() springwebjar
这个jar文件包含Web应用开发时用到Spring框架时所需的核心类包括自动载入WebApplicationContext特性的类Struts与JSF集成类文件上传的支持类Filter类和大量工具辅助类
() springwebmvcjar
这个jar文件包含Spring MVC框架相关的所有类包含国际化标签Theme视图展现的FreeMarkerJasperReportsTilesVelocityXSLT相关类当然如果你的应用使用了独立的MVC框架则无需这个JAR文件里的任何类
() springmockjar
这个jar文件包含Spring一整套mock类来辅助应用的测试Spring测试套件使用了其中大量mock类这样测试就更加简单模拟HttpServletRequest和HttpServletResponse类在Web应用单元测试是很方便的
如何选择这些发布包决定选用哪些发布包其实相当简单如果你正在构建Web应用并将全程使用Spring那么最好就使用单个全部的springjar文件如果你的应用仅仅用到简单的Inversion of Control / Dependency Injection(IoC/DI)容器那么只需springcorejar与springbeansjar即可如果你对发布的大小要求很高那么就得精挑细选了只取包含自己所需特性的jar文件了采用独立的发布包你可以避免包含自己的应用不需要的全部类当然你可以采用其它的一些工具来设法令整个应用包变小节省空间的重点在于准确地找出自己所需的Spring依赖类然后合并所需的类与包就可以了Eclispe有个插件叫ClassPath Helper可以帮你找找所依赖的类
Spring包依赖说明
) springcorejar需commonscollectionsjarspringcorejar是以下其它各个的基本
) springbeansjar需springcorejarcglibnodep_jar
) springaopjar需springcorejarspringbeansjarcglibnodep_jaraopalliancejar
) springcontextjar需springcorejarspringbeansjarspringaopjarcommonscollectionsjaraopalliancejar
) springdaojar需springcorejarspringbeansjarspringaopjarspringcontextjar
) springjdbcjar需springcorejarspringbeansjarspringdaojar
) springwebjar需springcorejarspringbeansjarspringcontextjar
) springwebmvcjar需springcorejar/springbeansjar/springcontextjar/springwebjar
) springhibernatejar需springcorejarspringbeansjarspringaopjarspringdaojarspringjdbcjarspringormjarspringwebjarspringwebmvcjar
) springormjar需springcorejarspringbeansjarspringaopjarspringdaojarspringjdbcjarspringwebjarspringwebmvcjar
) springremotingjar需springcorejarspringbeansjarspringaopjarspringdaojarspringcontextjarspringwebjarspringwebmvcjar
) springsupportjar需springcorejarspringbeansjarspringaopjarspringdaojarspringcontextjarspringjdbcjar
) springmockjar需springcorejarspringbeansjarspringdaojarspringcontextjarspringjdbcjar