`

spring包中文件及各种jar包详解

    博客分类:
  • WEB
阅读更多
aspectj目录下是在Spring框架下使用aspectj的源代码和测试程序文件。Aspectj是java最早的提供AOP的应用框架。
dist 目录下是Spring 的发布包,关于发布包下面会详细进行说明。
docs 目录下是相关的文档,包括有Spring api 的javadoc、reference 参考指南、Spring的标签库使用文件及Spring MVC 的MVC-step-by-step 讲解与示例。都是很好的文档,值得好好研究一下。
lib 目录下是Spring 所依赖的第三方开源包。
mock 目录下是Spring 辅助应用测试的Mock 源程序。
samples 目录下是Spring 的示例源程序及简单的webapp 示例框架的示例配置,值得好好学习的有jpetstore 及petclinic,当然其它的countries、imagedb、tiles-example 也可以好好参考一下。
src 目录下是Spring 的源程序。
test 目录下Spring 的单元测试源程序。
tiger 目录下是针对在Spring框架中使用java 1.5的源程序及测试程序。Tiger是jdk 1.5版本的开发代号。

接下来详细说说dist 目录下jar 包的相关内容。了解这些内容有助于我们减小发布包的大小,同时也可以增加对Spring架构的了解。

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

spring-src.zip就是所有的源代码压缩包。

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

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

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

spring-aop.jar
这个jar 文件包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持。使用基于AOP 的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。
外部依赖spring-core, (spring-beans,AOP Alliance, CGLIB,Commons Attributes)。

spring-context.jar
这个jar 文件为Spring 核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类。
外部依赖spring-beans, (spring-aop)。

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

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

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)

spring-web.jar
这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web Application Context 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。
外部依赖spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)。

spring-webmvc.jar
这个jar 文件包含Spring MVC 框架相关的所有类。包括框架的Servlets,Web MVC框架,控制器和视图支持。当然,如果你的应用使用了独立的MVC 框架,则无需这个JAR 文件里的任何类。
外部依赖spring-web, (spring-support,Tiles,iText,POI)。

spring-portlet.jar
spring自己实现的一个类似Spring MVC的框架。包括一个MVC框架和控制器。
外部依赖spring-web, Portlet API,(spring-webmvc)。

spring-struts.jar
Struts框架支持,可以更方便更容易的集成Struts框架。
外部依赖spring-web,Struts。

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)。

spring-jmx.jar
这个jar包提供了对JMX 1.0/1.2的支持类。
外部依赖spring-beans,spring-aop, JMX API。

spring-jms.jar
这个jar包提供了对JMS 1.0.2/1.1的支持类。
外部依赖spring-beans,spring-dao,JMS API。

spring-jca.jar
对JCA 1.0的支持。
外部依赖spring-beans,spring-dao, JCA API。

spring-jdo.jar
对JDO 1.0/2.0的支持。
外部依赖spring-jdbc, JDO API, (spring-web)。

spring-jpa.jar
对JPA 1.0的支持。
外部依赖spring-jdbc, JPA API, (spring-web)。

spring-hibernate2.jar
对Hibernate 2.1的支持,已经不建议使用。
外部依赖spring-jdbc,Hibernate2,(spring-web)。

spring-hibernate3.jar
对Hibernate 3.0/3.1/3.2的支持。
外部依赖spring-jdbc,Hibernate3,(spring-web)。

spring-toplink.jar
对TopLink框架的支持。
外部依赖spring-jdbc,TopLink。

spring-ibatis.jar
对iBATIS SQL Maps的支持。
外部依赖spring-jdbc,iBATIS SQL Maps。

另外的两个包。

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

spring-aspects.jar
提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中,比如Eclipse AJDT。
外部依赖。

WEAVER JARS (dist/weavers)说明。

spring-agent.jar
Spring的InstrumentationSavingAgent (为InstrumentationLoadTimeWeaver),一个设备代理包,可以参考JDK1.5的Instrumentation功能获得更多信息。
外部依赖none (for use at JVM startup: "-javaagent:spring-agent.jar")。

spring-tomcat-weaver.jar
扩展Tomcat的ClassLoader,使其可以使用instrumentation(设备)类。
外部依赖none (for deployment into Tomcat's "server/lib" directory)。

如果需要使用JSP语言作为Spring's web MVC tags的参数,则需要JSP 2.0的支持。或者选择Jakarta的JSTL (standard.jar)。

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

相关推荐

    spring jar 包详解

    ### Spring Jar 包详解 #### 一、Spring Jar 包概览 Spring 是一个开源的 Java 开发框架,主要用于简化企业级应用的开发工作。它通过提供一系列的基础框架,使得开发者能够更容易地处理复杂的业务逻辑,并且提高了...

    spring2.0和spring2.5 及以上版本的jar包区别 spring jar 包详解

    ### Spring2.0与Spring2.5及以上版本的jar包区别及spring jar包详解 #### 概述 Spring框架作为一款流行的Java应用开发框架,在不同的版本之间,其提供的功能、性能以及兼容性等方面都有所差异。本文将重点介绍...

    spring3.1.2jar包及包详解

    在`spring3.x jar详解及依赖关系.doc`文档中,详细列出了Spring 3.1.2各模块之间的依赖关系和使用场景,这对于构建项目配置文件(如Maven或Gradle的pom.xml或build.gradle)非常有用。确保正确地管理这些依赖,可以...

    Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中

    ### Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中 #### 背景介绍 随着微服务架构的流行,Spring Boot 成为了开发微服务应用时首选的技术栈之一。它简化了传统的Java Web应用程序的开发...

    org.springframework.web的jar包.zip

    《Spring框架Web模块详解——聚焦于WebSocket服务器端点支持》 在Java开发领域,Spring框架以其强大的功能和灵活的设计闻名,而`org.springframework.web`包是Spring框架中的一个重要部分,它提供了处理HTTP请求和...

    SSM基础jar包+详解

    在jar包中,你可以找到如`spring-context`, `spring-beans`, `spring-aop`等核心模块。`spring-context`提供了应用上下文,是DI的主要实现,而`spring-beans`则负责bean的创建和管理。`spring-aop`则支持切面编程,...

    spring通过导入jar包和配置xml文件启动的步骤详解

    "Spring框架入门:通过导入jar包和配置xml文件启动" Spring框架是一个基于Java的开源框架,它提供了一个通用的应用程序框架,帮助开发者快速构建企业级应用程序。今天,我们将探索如何通过导入jar包和配置xml文件来...

    详解spring boot引入外部jar包的坑

    通过以上步骤,我们可以成功地将外部 Jar 包引入到 Spring Boot 项目中,并且在 Maven 打包时也可以正确地将 Jar 包包含在生成的包中。 在 Spring Boot 项目中引入外部 Jar 包需要注意以上几点,以免陷入坑中,同时...

    常用jar包补充

    标题中的“常用jar包补充”指的是在Java开发中经常使用的外部库文件,这些jar包包含了各种功能的实现,便于开发者快速构建应用。在Java应用程序中,jar(Java Archive)文件是一种归档格式,它集合了类文件、资源...

    spring-4.2.5-jar包

    虽然没有提供对应的doc文档,但通过分析jar包内的文件,我们可以深入理解这一版本的特性和变化。 首先,Spring 4.2.5是Spring 4.x系列的一个稳定版本,它主要关注性能优化、错误修复以及对新特性的支持。在这个版本...

    hibernate3 jar 包

    总的来说,这个“hibernate3 jar 包”提供了在Java项目中使用Hibernate 3进行数据库操作所需要的所有库文件,但为了防止与Spring等其他框架的版本冲突,已经去除了可能引起问题的重复依赖。使用时,开发者需要根据...

    spring 4.3.4核心开发包

    《Spring 4.3.4核心开发包详解》 Spring框架是Java开发中不可或缺的一部分,其4.3.4版本是2016年12月7日发布的最新GA(General Availability)版本,旨在提供稳定且高效的企业级应用支持。这个核心开发包包含了构建...

    官方spring-framework-4.3.14.RELEASE完整包

    这个部分是开发工作的基础,它包括了各种jar包,如`spring-core.jar`、`spring-context.jar`、`spring-aop.jar`等,这些库文件涵盖了Spring的IoC容器、AOP支持、数据访问/集成、Web功能等多个核心模块。此外,这个包...

    spring-beans-3.0.2.RELEASE.jar.zip

    至于“spring使用quartz所需jar包”的描述,这意味着Spring Beans可以与其他库如Quartz进行集成,Quartz是一个开源的任务调度框架,Spring提供了一套API来方便地在应用程序中调度任务,如定时执行业务逻辑。...

    spring+springmvc4.2.4.rar

    在提供的jar包中,包括了`spring-context-4.2.4.RELEASE.jar`、`spring-core-4.2.4.RELEASE.jar`和`spring-beans-4.2.4.RELEASE.jar`。`spring-context`提供了上下文支持,包括依赖注入(DI)和面向切面编程(AOP)...

    Spring Boot 的java -jar命令启动原理详解

    在探讨Spring Boot的java -jar命令启动原理时,首先需要了解传统的Web应用部署方式,通常采用WAR包的形式进行部署。但Spring Boot支持更现代的部署方式,即通过构建一个可执行的JAR文件进行部署和启动。这种方式不仅...

    详解springboot解决第三方依赖jar包的问题

    Spring Boot 解决第三方依赖 Jar 包的问题 在 Spring Boot 项目中,引入第三方依赖 Jar 包是一件常见的事情。然而,如何正确地引入这些 Jar 包却是一个棘手的问题。今天,我们将详细介绍如何在 Spring Boot 项目中...

    jax-ws服务端所需的完整jar包

    **JAX-WS服务端所需完整Jar包详解** Java API for XML Web Services(JAX-WS)是Java平台上用于创建Web服务的标准API,它简化了服务端开发过程,提供了基于SOAP的消息交换支持。本篇文章将深入探讨JAX-WS服务端开发...

    SAP Business One 的10.0版本最新jar包,二次开发必用!

    《SAP Business One 10.0版本二次开发与Java环境下的应用详解》 ...通过深入理解这些jar包的功能,结合Spring Boot的便利性,开发者可以构建出满足企业特定需求的解决方案,进一步提升SAP Business One系统的价值。

    mongodb整合spring文档

    ### Spring 整合 MongoDB 数据库配置详解 #### 一、前言 在现代软件开发过程中,集成NoSQL数据库如MongoDB已成为一种趋势,特别是在需要处理大量非结构化数据的应用场景中。Spring框架作为Java领域中非常流行的...

Global site tag (gtag.js) - Google Analytics