`
jiangshuiy
  • 浏览: 340008 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[转]Spring包结构解析及相互依赖

 
阅读更多

spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。 
  除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.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 

复制限定名 使用java视图打开。 

分享到:
评论

相关推荐

    Spring源码深度解析第二版

    Spring框架的结构组成主要包括了beans包、core包、context包和aop包等。beans包主要包括了Bean的定义和实现。core包主要包括了容器的核心实现。context包主要包括了容器的上下文实现。aop包主要包括了AOP的实现。 ...

    Spring的jar包解析

    理解Spring的jar包结构对于优化项目依赖和提高应用性能至关重要。根据项目的需求,可以选择引入特定的jar包,而不是全部引入spring.jar,这样可以避免不必要的类加载,提升应用启动速度。此外,通过深入研究源代码,...

    Spring源码解析.zip

    《Spring源码解析》 Spring框架作为Java领域最流行的开源框架之一,它的设计思想和实现原理一直是许多开发者深入研究的重点。本压缩包“Spring源码解析”提供了对Spring框架核心组件——IOC(Inversion of Control...

    spring3.1包名解析

    通过这些详细的包结构解析,我们可以看到Spring 3.1版本不仅强化了核心功能,还增强了与其他框架的集成,为开发者提供了更全面、更灵活的开发工具。这样的设计使得Spring框架能够更好地适应不同类型的项目需求,提升...

    Spring源码解析.pdf

    ### Spring源码解析知识点 #### 一、Spring IoC 容器详解 ##### 1. BeanFactory —— 最基础的IoC容器 - **概念**:`BeanFactory` 是Spring框架中最基本的IoC容器,它负责管理Bean的生命周期,包括创建、配置和...

    Spring源代码解析

    Spring框架是Java开发中的核心组件,它以其依赖注入(DI)和面向切面编程(AOP)的概念,极大地简化了企业级应用的构建。本文将深入解析Spring的源代码,帮助开发者理解其内部机制,提升对框架的使用技巧和定制能力...

    spring依赖包,spring自行整合的市面上几乎和spring有关的jar包

    标题中的“spring依赖包”指的是Spring框架所需要的一系列外部库,这些库被Spring用来扩展其功能,以便与其他流行的技术和标准进行集成。Spring作为一个全面的轻量级应用框架,其核心特性可以支持应用程序的配置和...

    spring-3.2.0.RELEASE-dependencies依赖包.zip

    在本篇文章中,我们将深入探讨Spring 3.2.0.RELEASE版本的依赖包,了解其组成结构以及在实际开发中的作用。 首先,"spring-3.2.0.RELEASE-dependencies"这个压缩包是Spring框架3.2.0.RELEASE版本的依赖集合,包含了...

    spring5 和 依赖包 spring-framework-5.0.7 spring-framework-3.0.2.dependencies

    在实际开发中,依赖包通常包含Spring框架所依赖的其他库,如日志框架(如Log4j或SLF4J)、XML解析库(如DOM4J)、JSON处理库(如Jackson或Gson)等。这些依赖对于Spring框架的正常运行至关重要,因为它们提供了如...

    这一次搞懂Spring的XML解析原理说明

    在深入探讨Spring的XML解析原理之前,让我们先理解Spring框架的核心概念:控制反转(Inversion of Control,简称IOC)和依赖注入(Dependency Injection,简称DI)。Spring通过IOC和DI实现了对象之间的解耦,使得...

    spring 3 依赖包_part1

    标题“spring 3 依赖包_part1”指出这是一个关于Spring框架第3版本的依赖集合,主要包含了一系列必要的库文件。描述中提到,由于文件数量众多且体积大(超过150MB),所以被分成了四个压缩包进行传输,当前提供的是...

    Spring MVC框架的各种依赖包下载

    在本资源中,你将找到构建基于Spring MVC的应用所需的各种依赖包,这使得开发者能够快速而高效地搭建项目环境。下面我们将深入探讨Spring MVC框架的关键组成部分及其相关知识点。 1. **Spring Framework基础**:...

    jasypt-spring-boot-starter 3.0.5依赖的pom及jar

    《深入解析jasypt-spring-boot-starter 3.0.5依赖的POM与JAR》 在Java开发领域,构建和管理依赖是至关重要的环节。jasypt-spring-boot-starter是一个流行的安全库,它允许开发者在Spring Boot应用中轻松地实现加密...

    spring2中的jar包解析

    在 Spring 2 中,了解如何正确选择和使用 jar 包对于优化项目构建和减少不必要的依赖至关重要。 首先,`spring.jar` 是一个包含了 Spring 完整发布模块的单一 jar 包,但它不包含 `mock.jar`, `aspects.jar`, `...

    Spring技术内幕:深入解析Spring架构与设计原理(第2版) .pdf

    《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》这本书主要聚焦于Spring框架的核心架构和技术细节,帮助读者全面理解Spring的工作机制、设计理念以及实现方式。下面将根据书名及其描述来展开相关知识点。 ...

    java 解析xml,模拟spring框架ioc

    XML是Spring框架中用来描述对象及其相互依赖关系的主要方式。在Spring配置文件中,我们可以定义Bean的类名、属性值、依赖关系等。解析XML文件的过程主要包括以下步骤: 1. **加载XML文件**:使用Java的DOM...

    Spring 自定义注解的解析

    在Spring框架中,自定义注解的解析是一个强大的特性,允许开发者根据业务需求创建特定的注解,并在Spring容器启动时自动处理这些注解。本文将深入探讨如何在Spring环境中通过`component-scan`配置来处理自定义Java...

    利用xml解析完成依赖注入 源码

    XML解析则是实现依赖注入的一种常见方式,尤其是在Spring框架中广泛使用。本篇文章将深入探讨如何利用XML解析来完成依赖注入,并结合源码`xmlparse_Ioc`进行详细解释。 首先,我们要理解什么是依赖注入。依赖注入的...

    spring3.0jar包

    总的来说,Spring 3.0 是一个全面升级的版本,它在提高开发效率、简化代码结构、增强可测试性和提供更广泛的企业级功能方面取得了显著的进步。无论是对于新手还是经验丰富的开发者,这个版本都提供了丰富的工具和...

    spring源代码解析

    Spring框架是Java应用程序开发中的一个核心库,它提供了一个丰富的基础设施,用于管理对象的生命周期和依赖关系。Spring的核心特性是它的Inversion of Control (IoC) 容器,也被称为依赖注入(Dependency Injection)...

Global site tag (gtag.js) - Google Analytics