﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-孤单de痕迹</title><link>http://www.blogjava.net/vc88/</link><description>孤单de痕迹</description><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 06:04:27 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 06:04:27 GMT</pubDate><ttl>60</ttl><item><title>Spring Jar包详解</title><link>http://www.blogjava.net/vc88/archive/2009/05/13/270341.html</link><dc:creator>王帅</dc:creator><author>王帅</author><pubDate>Wed, 13 May 2009 01:32:00 GMT</pubDate><guid>http://www.blogjava.net/vc88/archive/2009/05/13/270341.html</guid><wfw:comment>http://www.blogjava.net/vc88/comments/270341.html</wfw:comment><comments>http://www.blogjava.net/vc88/archive/2009/05/13/270341.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/vc88/comments/commentRss/270341.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/vc88/services/trackbacks/270341.html</trackback:ping><description><![CDATA[spring.jar是包含有完整发布的单个jar包，spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容，因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试，正式应用系统中是用不得这些类的。 <br />
　　 <br />
&nbsp;&nbsp; 除了spring.jar文件，Spring还包括有其它独立的jar包，各自包含着对应的Spring组件，用户可以根据自己的需要来选择组合自己的jar包，而不必引入整个spring.jar的所有类文件。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。 <br />
<br />
spring-src.zip就是所有的源代码压缩包。 <br />
<br />
&nbsp;&nbsp; spring-core.jar <br />
这个jar文件包含Spring框架基本的核心工具类，Spring其它组件要都要使用到这个包里的类，是其它组件的基本核心，当然你也可以在自己的应用系统中使用这些工具类。 <br />
外部依赖Commons Logging， (Log4J)。 <br />
<br />
&nbsp;&nbsp; spring-beans.jar <br />
这个jar文件是所有应用都要用到的，它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection（IoC/DI）操作相关的所有类。如果应用只需基本的IoC/DI支持，引入spring-core.jar及spring- beans.jar文件就可以了。 <br />
外部依赖spring-core，(CGLIB)。 <br />
<br />
&nbsp; spring-aop.jar <br />
这个jar文件包含在应用中使用Spring的AOP特性时所需的类。使用基于AOP的Spring特性，如声明型事务管理（Declarative Transaction Management），也要在应用里包含这个jar包。 <br />
外部依赖spring-core， (spring-beans，AOP Alliance， CGLIB，Commons Attributes)。 <br />
<br />
&nbsp;&nbsp;&nbsp; spring-context.jar <br />
这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类，JDNI所需的全部类，UI方面的用来与模板（Templating）引擎如 Velocity、FreeMarker、JasperReports集成的类，以及校验Validation方面的相关类。 <br />
外部依赖spring-beans, (spring-aop)。 <br />
<br />
&nbsp;&nbsp; spring-dao.jar <br />
这个jar文件包含Spring DAO、Spring Transaction进行数据访问的所有类。为了使用声明型事务支持，还需在自己的应用里包含spring-aop.jar。 <br />
外部依赖spring-core，(spring-aop， spring-context， JTA API)。 <br />
<br />
&nbsp;&nbsp; spring-hibernate.jar <br />
这个jar文件包含Spring对Hibernate 2及Hibernate 3进行封装的所有类。 <br />
<br />
<br />
&nbsp;&nbsp;&nbsp; spring-jdbc.jar <br />
这个jar文件包含对Spring对JDBC数据访问进行封装的所有类。 <br />
外部依赖spring-beans，spring-dao。 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; spring-orm.jar <br />
这个jar文件包含Spring对DAO特性集进行了扩展，使其支持 iBATIS、JDO、OJB、TopLink，因为Hibernate已经独立成包了，现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类，用这个包时你需要同时包含spring-dao.jar包。 <br />
<br />
&nbsp;&nbsp; spring-remoting.jar <br />
这个jar文件包含支持EJB、JMS、远程调用Remoting（RMI、Hessian、Burlap、Http Invoker、JAX-RPC）方面的类。 <br />
<br />
&nbsp; spring-support.jar <br />
这个jar文件包含支持缓存Cache（ehcache）、JCA、JMX、邮件服务（Java Mail、COS Mail）、任务计划Scheduling（Timer、Quartz）方面的类。 <br />
<br />
&nbsp; spring-web.jar <br />
这个jar文件包含Web应用开发时，用到Spring框架时所需的核心类，包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 <br />
外部依赖spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)。 <br />
<br />
&nbsp; spring-webmvc.jar <br />
这个jar文件包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然，如果你的应用使用了独立的MVC框架，则无需这个JAR文件里的任何类。 <br />
外部依赖spring-web, (spring-support，Tiles，iText，POI)。 <br />
<br />
spring-support.jar <br />
这个jar 文件包含支持UI模版（Velocity，FreeMarker，JasperReports），邮件服务，脚本服务(JRuby)，缓存Cache（EHCache），任务计划Scheduling（uartz）方面的类。 <br />
外部依赖spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache) <br />
<br />
spring-portlet.jar <br />
spring自己实现的一个类似Spring MVC的框架。包括一个MVC框架和控制器。 <br />
外部依赖spring-web， Portlet API，(spring-webmvc)。 <br />
<br />
spring-struts.jar <br />
Struts框架支持，可以更方便更容易的集成Struts框架。 <br />
外部依赖spring-web，Struts。 <br />
<br />
spring-remoting.jar <br />
这个jar 文件包含支持EJB、远程调用Remoting（RMI、Hessian、Burlap、Http Invoker、JAX-RPC）方面的类。 <br />
外部依赖spring-aop， (spring-context，spring-web，Hessian，Burlap，JAX-RPC，EJB API)。 <br />
<br />
spring-jmx.jar <br />
这个jar包提供了对JMX 1.0/1.2的支持类。 <br />
外部依赖spring-beans，spring-aop， JMX API。 <br />
<br />
spring-jms.jar <br />
这个jar包提供了对JMS 1.0.2/1.1的支持类。 <br />
外部依赖spring-beans，spring-dao，JMS API。 <br />
<br />
spring-jca.jar <br />
对JCA 1.0的支持。 <br />
外部依赖spring-beans，spring-dao， JCA API。 <br />
<br />
spring-jdo.jar <br />
对JDO 1.0/2.0的支持。 <br />
外部依赖spring-jdbc， JDO API， (spring-web)。 <br />
<br />
spring-jpa.jar <br />
对JPA 1.0的支持。 <br />
外部依赖spring-jdbc， JPA API， (spring-web)。 <br />
<br />
spring-hibernate2.jar <br />
对Hibernate 2.1的支持，已经不建议使用。 <br />
外部依赖spring-jdbc，Hibernate2，(spring-web)。 <br />
<br />
spring-hibernate3.jar <br />
对Hibernate 3.0/3.1/3.2的支持。 <br />
外部依赖spring-jdbc，Hibernate3，(spring-web)。 <br />
<br />
spring-toplink.jar <br />
对TopLink框架的支持。 <br />
外部依赖spring-jdbc，TopLink。 <br />
<br />
spring-ibatis.jar <br />
对iBATIS SQL Maps的支持。 <br />
外部依赖spring-jdbc，iBATIS SQL Maps。 <br />
<br />
另外的两个包。 <br />
<br />
spring-mock.jar <br />
这个jar 文件包含Spring 一整套mock 类来辅助应用的测试。Spring 测试套件使用了其中大量mock 类，这样测试就更加简单。模拟HttpServletRequest 和HttpServletResponse 类在Web 应用单元测试是很方便的。并且提供了对JUnit的支持。 <br />
外部依赖spring-core。 <br />
<br />
spring-aspects.jar <br />
提供对AspectJ的支持，以便可以方便的将面向方面的功能集成进IDE中，比如Eclipse AJDT。 <br />
外部依赖。 <br />
<br />
WEAVER JARS (dist/weavers)说明。 <br />
<br />
spring-agent.jar <br />
Spring的InstrumentationSavingAgent (为InstrumentationLoadTimeWeaver)，一个设备代理包，可以参考JDK1.5的Instrumentation功能获得更多信息。 <br />
外部依赖none (for use at JVM startup: "-javaagent:spring-agent.jar")。 <br />
<br />
<br />
　　如何选择这些发布包，决定选用哪些发布包其实相当简单。如果你正在构建Web应用并将全程使用Spring，那么最好就使用单个全部的 spring.jar文件；如果你的应用仅仅用到简单的Inversion of Control / Dependency Injection（IoC/DI）容器，那么只需spring-core.jar与spring-beans.jar即可；如果你对发布的大小要求很高，那么就得精挑细选了，只取包含自己所需特性的jar文件了。采用独立的发布包你可以避免包含自己的应用不需要的全部类。当然你可以采用其它的一些工具来设法令整个应用包变小，节省空间的重点在于准确地找出自己所需的Spring依赖类，然后合并所需的类与包就可以了。Eclispe有个插件叫 ClassPath Helper可以帮你找找所依赖的类。 <br />
Spring包依赖说明: <br />
spring-core.jar需commons-collections.jar，spring-core.jar是以下其它各个的基本。 <br />
<br />
spring-beans.jar需spring-core.jar，cglib-nodep-2.1_3.jar <br />
<br />
spring-aop.jar需spring-core.jar，spring-beans.jar，cglib-nodep-2.1_3.jar，aopalliance.jar <br />
<br />
spring-context.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，commons-collections.jar，aopalliance.jar <br />
<br />
spring-dao.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring-context.jar <br />
<br />
spring-jdbc.jar需spring-core.jar，spring-beans.jar，spring-dao.jar <br />
<br />
spring-web.jar需spring-core.jar，spring-beans.jar，spring-context.jar <br />
<br />
spring-webmvc.jar需spring-core.jar/spring-beans.jar/spring-context.jar/spring-web.jar <br />
<br />
spring -hibernate.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring- dao.jar，spring-jdbc.jar，spring-orm.jar，spring-web.jar，spring-webmvc.jar <br />
<br />
spring-orm.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring- dao.jar，spring-jdbc.jar，spring-web.jar，spring-webmvc.jar <br />
<br />
spring -remoting.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring- dao.jar，spring-context.jar，spring-web.jar，spring-webmvc.jar <br />
<br />
spring-support.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring-dao.jar，spring-context.jar，spring-jdbc.jar <br />
<br />
spring-mock.jar需spring-core.jar，spring-beans.jar，spring-dao.jar，spring-context.jar，spring-jdbc.jar <br />
<br />
<br />
JAR包下： <br />
aspectj目录下是在Spring框架下使用aspectj的源代码和测试程序文件。Aspectj是java最早的提供AOP的应用框架。 <br />
dist 目录下是Spring 的发布包，关于发布包下面会详细进行说明。 <br />
docs 目录下是相关的文档，包括有Spring api 的javadoc、reference 参考指南、Spring的标签库使用文件及Spring MVC 的MVC-step-by-step 讲解与示例。都是很好的文档，值得好好研究一下。 <br />
lib 目录下是Spring 所依赖的第三方开源包。 <br />
mock 目录下是Spring 辅助应用测试的Mock 源程序。 <br />
samples 目录下是Spring 的示例源程序及简单的webapp 示例框架的示例配置，值得好好学习的有jpetstore 及petclinic，当然其它的countries、imagedb、tiles-example 也可以好好参考一下。 <br />
src 目录下是Spring 的源程序。 <br />
test 目录下Spring 的单元测试源程序。 <br />
tiger 目录下是针对在Spring框架中使用java 1.5的源程序及测试程序。Tiger是jdk 1.5版本的开发代号。 <br />
<br />
<br />
<img src ="http://www.blogjava.net/vc88/aggbug/270341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/vc88/" target="_blank">王帅</a> 2009-05-13 09:32 <a href="http://www.blogjava.net/vc88/archive/2009/05/13/270341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>