zoukankan      html  css  js  c++  java
  • 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)。

    (资料总结与个人体会,侵删)

  • 相关阅读:
    ThreadLocal 详解
    外键的约束(Mysql、PostgreSQL)
    Linux命令中,$、#、@、0、1、2、*、?的作用
    $.ajax 方法参数总是记不住,在这里记录一下
    SVN提示https证书验证失败问题svn: E230001: Server SSL certificate verification failed:
    各类资源地址整合
    CentOS 7 上安装vim 解決 centos -bash: vim: command not found
    Beyond Compare 4提示已经过了30天试用期,破解方式,亲测可用
    Django 04 模板标签(if、for、url、with、autoeacape、模板继承于引用、静态文件加载)
    Django 03 模板路径、模板变量、常用的过滤器
  • 原文地址:https://www.cnblogs.com/bigmonkeys/p/7811626.html
Copyright © 2011-2022 走看看