spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。

  除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件。(前4 个为核心jar文件)

(1) spring-core.jar
这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。

(2) spring-beans.jar
这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及spring- beans.jar文件就可以了。

(3) spring-aop.jar
这个jar文件包含在应用中使用Spring的AOP特性时所需的类。使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。

(4) spring-context.jar
  这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。

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

(6) spring-hibernate.jar
  这个jar文件包含Spring对Hibernate 2及Hibernate 3进行封装的所有类。

(7) spring-jdbc.jar
  这个jar文件包含对Spring对JDBC数据访问进行封装的所有类。

(8) spring-orm.jar
  这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类,用这个包时你需要同时包含spring-dao.jar包。

(9) spring-remoting.jar
  这个jar文件包含支持EJB、JMS、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。

(10) spring-support.jar
  这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。

(11) spring-web.jar
  这个jar文件包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。

(12) spring-webmvc.jar
  这个jar文件包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。

(13) spring-mock.jar
  这个jar文件包含Spring一整套mock类来辅助应用的测试。Spring测试套件使用了其中大量mock类,这样测试就更加简单。模拟HttpServletRequest和HttpServletResponse类在Web应用单元测试是很方便的。

  如何选择这些发布包,决定选用哪些发布包其实相当简单。如果你正在构建Web应用并将全程使用Spring,那么最好就使用单个全部的 spring.jar文件;如果你的应用仅仅用到简单的Inversion of Control / Dependency Injection(IoC/DI)容器,那么只需spring-core.jar与spring-beans.jar即可;如果你对发布的大小要求很高,那么就得精挑细选了,只取包含自己所需特性的jar文件了。采用独立的发布包你可以避免包含自己的应用不需要的全部类。当然你可以采用其它的一些工具来设法令整个应用包变小,节省空间的重点在于准确地找出自己所需的Spring依赖类,然后合并所需的类与包就可以了。Eclispe有个插件叫 ClassPath Helper可以帮你找找所依赖的类。

Spring包依赖说明:

1) spring-core.jar需commons-collections.jar,spring-core.jar是以下其它各个的基本。
2) spring-beans.jar需spring-core.jar,cglib-nodep-2.1_3.jar
3) spring-aop.jar需spring-core.jar,spring-beans.jar,cglib-nodep-2.1_3.jar,aopalliance.jar
4) spring-context.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar
5) spring-dao.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-context.jar
6) spring-jdbc.jar需spring-core.jar,spring-beans.jar,spring-dao.jar
7) spring-web.jar需spring-core.jar,spring-beans.jar,spring-context.jar
8) spring-webmvc.jar需spring-core.jar/spring-beans.jar/spring-context.jar/spring-web.jar
9) 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
10) spring-orm.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-web.jar,spring-webmvc.jar
11) spring -remoting.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-context.jar,spring-web.jar,spring-webmvc.jar
12) spring-support.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar
13) spring-mock.jar需spring-core.jar,spring-beans.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar

【Spring学习】spring开发包介绍相关推荐

  1. Spring开发包介绍

    -----------------siwuxie095 核心开发包 建立 Spring 工程时,需要引入 Spring 的开发包,否则无法 建立 Spring 的开发和运行环境 以下简单介绍一下 Sp ...

  2. Spring学习-Spring核心技术(九)

    Spring中面向切面编程-AOP 1. AOP概念 2. AOP的功能和目的 3. AOP代理 4. 基于@AspectJ的AOP支持 (1) 启动@AspectJ支持 1) 使用Java配置方法开 ...

  3. Spring学习-Spring Tx

    一.概述 Spring Tx 全称为 Spring Transaction Management(Spring 事务管理),是 Spring 为 DB 事务管理提供过的一种便捷的接入方式. 二.导入依 ...

  4. spring 学习—spring的相关概念(01)

    1.spring 是开源的轻量级的框架 开源的意思是:免费的提供源代码 轻量级的意思是:此框架的使用不需要依赖于其他的东西,可以直接使用 2.spring 核心的主要两个部分 (1)aop: 面向切面 ...

  5. Spring 学习——Spring AOP——AOP配置篇Advice(有参数传递)

    声明通知Advice 配置方式(以前置通知为例子) 方式一 <aop:config> <aop:aspect id="ikAspectAop" ref=" ...

  6. Java 系列之spring学习--spring搭建(一)

    一.新建maven项目 二.引入spring jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...

  7. 佳能单反相机二次开发包介绍_家用单反相机什么牌子好

    单反相机可以根据不同的使用人群可以分为很多的层次,如果要是家用的话,单反相机只要购买一个成像效果好的相机就可以了,对于新手和家庭使用已经完全足够.那么家用单反相机什么牌子好呢?今天我们就来给大家介绍介 ...

  8. spring 学习—spring 的ioc底层原理(03)

    2.画图分析ioc实现的原理

  9. spring 学习—spring 的ioc底层原理(02)

    IOC的底层原理 1.ioc底层原理使用技术 (1) xml配置文件 (2) dom4j 解决xml (3)工厂设计模式 (4)反射 什么叫做耦合度太高了:就是关联度太紧密了 高内聚与低耦合 高内聚: ...

最新文章

  1. Android系统广播大全
  2. div横排 html_html中两个DIV怎么横排靠齐?
  3. 计算机丢失qt5sql.ll,电脑中提示丢失Qt5core.dll文件的解决方法
  4. 吴恩达深度学习 —— 3.1 神经网络概览
  5. 如何配置CentOS或者RedHat5.X、6.X、7.X的网络yum源
  6. java 绘制sin函数图像_第11讲 数学软件Mathematica内置函数的使用规则
  7. 【数学建模】day05-微分方程建模
  8. Struts2的标签库(二)之数据标签
  9. 三菱FX3S,FX3G,FX3U序列PLC控制器编程手册-基本应用指令篇下载
  10. Untiy3D - 3 打飞碟小游戏
  11. Latex 求职简历模版
  12. 漏洞:互联网时代的阿喀琉斯之踵 挖掘漏洞哪家强?
  13. 计算机太极图怎么设计,AI绘制太极图两种方法介绍
  14. Q4财报净亏损8350.2万美元,Unity何时摆脱亏损“魔咒”?
  15. CSS3鼠标悬停图片360度旋转效果
  16. QIIME 2教程. 03老司机上路指南Experience(2021.2)
  17. DIY手机万能红外遥控器
  18. 计算机测电阻伏安特性实验报告,《电学元件伏安特性的测量》实验报告附页
  19. word/exce转lPDF乱码(思源字体)
  20. 《中庸》开宗明义:天命之谓性,率性之谓道,修道之谓教。

热门文章

  1. sdut 1500 Message Flood
  2. SQL Server之视图基础知识
  3. Is this a MS EnterLib DAAB BUG or not?
  4. Android Studio修改编译JDK
  5. sqlserver游标概念与实例
  6. android toast的使用
  7. github的角色和人员结构
  8. OSI 参考模型与TCP/IP 参考模型的比较
  9. python数据拼接: pd.concat
  10. 如何把安全证书导入到java中的cacerts证书库(转)