转至http://lukec.iteye.com/blog/170933http://lukec.iteye.com/bl
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
分享到:
相关推荐
标题 "spring 2.x一些东西" 提到的是Spring框架的2.x版本,这是一个历史悠久且对Java企业级开发具有深远影响的版本。Spring是Java平台上一个核心的轻量级框架,它通过依赖注入(Dependency Injection,DI)和面向切...
《Spring 3.x 企业应用开发实战》lib包是一个针对Spring框架3.x版本的实践教程配套资源,其中包含了在实际项目开发中可能用到的各种库文件。这些库文件是Spring框架与其他外部组件交互的关键,它们可以帮助开发者...
1. **依赖注入(Dependency Injection, DI)**:Spring4.x的核心特性之一,通过DI,对象之间的依赖关系被反转,使得系统更易于测试和维护。开发者可以利用XML配置、注解或Java配置来实现依赖注入。 2. **AOP(面向切...
1. **依赖注入**:Spring通过DI机制,使得对象间的依赖关系在配置文件中声明,而不是硬编码在类内部,降低了代码的耦合度,提高了可测试性和可维护性。 2. **AOP**:AOP是Spring提供的用于实现横切关注点(如日志...
1. **IoC(Inversion of Control,控制反转)**:Spring的核心特性之一,它通过依赖注入(Dependency Injection,DI)来管理对象及其依赖关系,降低了组件之间的耦合度,提高了代码的可测试性和可维护性。...
在这个“Spring4.x最新jar包”中,我们重点关注的是`spring-framework-4.3.18.jar`这个文件,它是Spring框架的核心组件,包含了运行Spring应用程序所需的所有类和资源。 首先,让我们了解Spring框架的基本结构。...
本资源为"spring5.0.x源码包",包含Spring框架5.0.x版本的源代码,这对于开发者深入理解Spring的工作原理、进行二次开发或者优化具有重大价值。以下将对Spring 5.0.x版本中的主要知识点进行详细阐述。 1. **模块化...
2. **Spring Core Container**:Spring的核心容器包括BeanFactory和ApplicationContext,它们负责管理对象的生命周期和依赖关系。BeanFactory是Spring的基础,而ApplicationContext则提供了更多的企业级服务,如消息...
1. **依赖注入(Dependency Injection, DI)**:Spring3.X强化了DI机制,允许开发者通过XML配置或注解来管理对象之间的依赖关系,降低了代码的耦合度。 2. **面向切面编程(AOP)**:Spring3.X提供了更强大的AOP支持,...
Spring通过DI帮助我们解耦代码,使得组件之间的依赖关系可以通过配置来管理。在Spring4.x中,你可以看到`ApplicationContext`是如何加载配置并创建bean实例的,以及`BeanFactory`接口及其实现如何负责bean的生命周期...
【标题】"Ext2.1 struts1.x spring 2.x hibernate 2.x" 涉及的技术栈是Web开发中的经典组合,主要包括EXT JS的2.1版本、Struts1.x、Spring 2.x以及Hibernate 2.x。这些技术在过去的Web应用程序开发中扮演着重要角色...
- Spring3.x:依赖注入框架。 - Hibernate4.x:对象关系映射框架。 - jQuery2.x:轻量级 JavaScript 库。 - EasyUI1.3.x:基于 jQuery 的 UI 框架。 - DWR:Direct Web Remoting,用于前后端交互。 综上所述,...
Spring容器负责创建和管理对象的生命周期,开发者仅需通过配置文件或注解方式来声明对象及其依赖关系,容器会在运行时自动将依赖注入到对象中。 2.面向切面编程(Aspect-Oriented Programming,AOP): AOP是Spring...
依赖注入是Spring的核心设计原则,它允许开发者解耦组件间的依赖关系,提高代码的可测试性和可维护性。面向切面编程则提供了一种模块化系统中关注点分离的方式,使得业务逻辑和系统服务如日志、事务管理等可以更好...
1. 依赖注入:依赖注入是Spring的核心特性之一,它允许将对象的依赖关系交给Spring容器来管理。这通过XML配置文件、注解或Java配置类来实现。依赖注入有助于实现松耦合和更好的代码测试。 2. 面向切面编程(AOP):...
2. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,通过DI,我们可以将对象之间的依赖关系解耦,使得组件更易于测试和维护。章节可能深入讲解了如何使用XML配置、注解驱动的方式来实现DI。 3. *...
2. **IoC容器**:Spring的IoC容器是其核心,它负责管理对象的生命周期和对象之间的依赖关系。通过XML配置文件或Java注解,开发者可以声明bean及其依赖关系,容器负责实例化、装配bean,并管理它们的完整生命周期。 ...
DI是Spring的核心特性之一,允许开发者将对象的依赖关系通过配置文件或注解来管理,而不是硬编码在类内部。这增强了代码的可测试性和可维护性。 3. **面向切面编程(Aspect-Oriented Programming, AOP)** AOP...
Spring的核心是依赖注入(Dependency Injection,简称DI),它允许我们通过配置文件或注解来管理对象的生命周期和依赖关系,从而降低了代码的耦合度。在Spring4.3.x中,DI通过@Autowired注解得到了进一步的加强,...
DI允许开发者通过配置文件或注解来管理对象之间的依赖关系,而非在代码中硬编码。这使得系统更易于测试和维护。 2. **Chapter 7:AOP(面向切面编程)** Spring的AOP模块提供了实现面向切面编程的能力。这一章会...