欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于Spring中各个jar包的作用及依赖(详解)

程序员文章站 2024-04-01 23:15:40
先附spring各版本jar包下载链接 spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-...

先附spring各版本jar包下载链接

spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar

示例图片为spring-2.5.6.jar的包目录

基于Spring中各个jar包的作用及依赖(详解)

下面讲解各个jar包的作用:

1.org.springframework.aop或spring-aop.jar

这个jar文件包含在应用中使用spring的aop特性时所需的类。使用基于aop的spring特性,如声明型事务管理(declarative transaction management),也要在应用里包含这个jar包。

外部依赖spring-core.jar,spring-beans.jar,cglib-nodep.jar,aopalliance.jar

附:aopalliance.jar:这个包是aop联盟的api包,里面包含了针对面向切面的接口。通常spring等其它具备动态织入功能的框架依赖此包。

cglib-nodep.jar:这个包是一个强大的,高性能,高质量的code生成类库。它可以在运行期扩展java类与实现java接口。 当然这些实际的功能是asm所提供的,asm又是什么?java字节码操控框架。cglib就是封装了asm,简化了asm的操作,实现了在运行期动态生成新的class。 实际上cglib为spring aop提供了底层的一种实现;为hibernate使用cglib动态生成vo/po (接口层对象)。

2.spring-asm.jar

spring独立的asm程序, spring2.5.6的时候需要asmjar 包, 3.0开始提供他自己独立的asmjar。

3.spring-beans.jar

这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行inversion of control / dependency injection(ioc/di)操作相关的所有类。如果应用只需基本的ioc/di 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。
外部依赖spring-core,cglib-nodep.jar。

4.spring-core.jar

这个jar 文件包含spring 框架基本的核心工具类。spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。
外部依赖commons-logging, log4j。

5.spring-aop.jar

这个jar 文件包含在应用中使用spring 的aop 特性时所需的类和源码级元数据支持。使用基于aop 的spring特性,如声明型事务管理(declarative transaction management),也要在应用里包含这个jar包。

外部依赖spring-core,spring-beans,aopalliance,cglib,commons attributes。

6.spring-context.jar

这个jar文件为spring核心提供了大量扩展。可以找到使用spring applicationcontext特性时所需的全部类,jdni 所需的全部类,instrumentation组件以及校验validation 方面的相关类。

外部依赖spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar。

7.spring-dao.jar

这个jar 文件包含spring dao、spring transaction 进行数据访问的所有类。为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar。

外部依赖spring-core,spring-aop, spring-context, jta api。

8.spring-jdbc.jar

这个jar 文件包含对spring 对jdbc 数据访问进行封装的所有类。
外部依赖spring-beans,spring-dao。

9.spring-support.jar

这个jar文件包含支持ui模版(velocity,freemarker,jasperreports),邮件服务,脚本服务(jruby),缓存cache(ehcache),任务计划scheduling(uartz)方面的类。
外部依赖spring-context, spring-jdbc, velocity, freemarker, jasperreports, bsh, groovy, jruby, quartz, ehcache

10.spring-web.jar

这个jar 文件包含web 应用开发时,用到spring 框架时所需的核心类,包括自动载入web application context 特性的类、struts 与jsf 集成类、文件上传的支持类、filter 类和大量工具辅助类。

外部依赖spring-context, servlet api, jsp api, jstl, commons fileupload, cos。

11.spring-webmvc.jar

这个jar 文件包含spring mvc 框架相关的所有类。包括框架的servlets,web mvc框架,控制器和视图支持。当然,如果你的应用使用了独立的mvc 框架,则无需这个jar 文件里的任何类。

外部依赖spring-web, spring-support,tiles,itext,poi。

12.spring-portlet.jar

spring自己实现的一个类似spring mvc的框架。包括一个mvc框架和控制器。

外部依赖spring-web, portlet api,spring-webmvc。

13.spring-struts.jar

struts框架支持,可以更方便更容易的集成struts框架。

外部依赖spring-web,struts。

14.spring-remoting.jar

这个jar 文件包含支持ejb、远程调用remoting(rmi、hessian、burlap、http invoker、jax-rpc)方面的类。

外部依赖spring-aop, (spring-context,spring-web,hessian,burlap,jax-rpc,ejb api)。

15.spring-jmx.jar

这个jar包提供了对jmx 1.0/1.2的支持类。

外部依赖spring-beans,spring-aop, jmx api。

16.spring-jms.jar

这个jar包提供了对jms 1.0.2/1.1的支持类。

外部依赖spring-beans,spring-dao,jms api。

17spring-jca.jar

对jca 1.0的支持。jdo(java data object )是java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化api。

外部依赖spring-beans,spring-dao, jca api。

18.spring-jdo.jar

对jdo 1.0/2.0的支持。jca (j2ee 连接器架构,java connector architecture),可以将有jca适配器其他语言的系统部署到j2ee应用服务器中

外部依赖spring-jdbc, jdo api, (spring-web)。

19.spring-jpa.jar

对jpa 1.0的支持。

外部依赖spring-jdbc, jpa api, (spring-web)。

20.spring-hibernate2.jar

对hibernate 2.1的支持,已经不建议使用。

外部依赖spring-jdbc,hibernate2,(spring-web)。

21.spring-hibernate3.jar

对hibernate 3.0/3.1/3.2的支持。

外部依赖spring-jdbc,hibernate3,(spring-web)。

22.spring-toplink.jar

对toplink框架的支持。

外部依赖spring-jdbc,toplink。

23.spring-ibatis.jar

对ibatis sql maps的支持。

外部依赖spring-jdbc,ibatis sql maps。

24.spring-mock.jar

这个jar 文件包含spring 一整套mock 类来辅助应用的测试。spring 测试套件使用了其中大量mock 类,这样测试就更加简单。模拟httpservletrequest 和httpservletresponse 类在web 应用单元测试是很方便的。并且提供了对junit的支持。
外部依赖spring-core。

25.spring-aspects.jar

提供对aspectj的支持,以便可以方便的将面向方面的功能集成进ide中,比如eclipse ajdt。
外部依赖。

26.spring-agent.jar

spring的instrumentationsavingagent (为instrumentationloadtimeweaver),一个设备代理包,可以参考jdk1.5的instrumentation功能获得更多信息。

外部依赖none (for use at jvm startup: "-javaagent:spring-agent.jar")。

27.spring-tomcat-weaver.jar

扩展tomcat的classloader,使其可以使用instrumentation(设备)类。

外部依赖none (for deployment into tomcat's "server/lib" directory)。

以上这篇基于spring中各个jar包的作用及依赖(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。