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

 更新时间:2017年11月10日 09:24:40   作者:Big_Monkey  
下面小编就为大家带来一篇基于Spring中各个jar包的作用及依赖(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

先附spring各版本jar包下载链接http://repo.spring.io/release/org/springframework/spring/

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

示例图片为Spring-2.5.6.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包的作用及依赖(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mac下修改idea的jvm运行参数解决idea卡顿的情况

    mac下修改idea的jvm运行参数解决idea卡顿的情况

    这篇文章主要介绍了mac下修改idea的jvm运行参数解决idea卡顿的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • springBoot 项目排除数据库启动方式

    springBoot 项目排除数据库启动方式

    这篇文章主要介绍了springBoot 项目排除数据库启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Javaweb-HttpServletResponse的sendRedirectch重定向方式

    Javaweb-HttpServletResponse的sendRedirectch重定向方式

    这篇文章主要介绍了Javaweb-HttpServletResponse的sendRedirectch重定向方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • springboot2.3 整合mybatis-plus 高级功能(图文详解)

    springboot2.3 整合mybatis-plus 高级功能(图文详解)

    这篇文章主要介绍了springboot2.3 整合mybatis-plus 高级功能,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • maven子模块相互依赖打包时报错找不到类的解决方案

    maven子模块相互依赖打包时报错找不到类的解决方案

    本文主要介绍了maven子模块相互依赖打包时报错找不到类的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Mybatis核心组成部分之SQL映射文件揭秘详解

    Mybatis核心组成部分之SQL映射文件揭秘详解

    MyBatis真正的力量是在映射语句中,下面这篇文章主要给大家介绍了关于Mybatis核心组成部分之SQL映射文件揭秘的相关资料,现在分享给大家,给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • SpringBoot整合Minio实现文件上传和读取功能

    SpringBoot整合Minio实现文件上传和读取功能

    最近有一个需求是关于视频上传播放的,需要设计一个方案,中间谈到了Minio这个技术,于是来学习一下,所以本文给大家介绍了SpringBoot整合Minio实现文件上传和读取功能,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-07-07
  • springboot项目中没有识别到yml文件解决办法

    springboot项目中没有识别到yml文件解决办法

    这篇文章主要给大家介绍了springboot项目中没有识别到yml文件解决办法,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • Java同步容器和并发容器详解

    Java同步容器和并发容器详解

    这篇文章主要介绍了Java同步容器和并发容器详解,容器是Java基础类库中使用频率最高的一部分,Java集合包中提供了大量的容器类来帮组我们简化开发,下面小编和大家来一起学习下吧
    2019-06-06
  • 详解Spring MVC/Boot 统一异常处理最佳实践

    详解Spring MVC/Boot 统一异常处理最佳实践

    在 Web 开发中, 我们经常会需要处理各种异常,这篇文章主要介绍了详解Spring MVC/Boot 统一异常处理最佳实践,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01

最新评论