Spring有如下优点:
◆低侵入式设计,代码污染极低
◆ 独立于各种应用服务器,可以真正实现Write Once,Run Anywhere的承诺
◆Spring的DI机制降低了业务对象替换的复杂性
◆Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部
基本框架
Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式.
组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
1、核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
2、Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
3、Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
4、Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
5、Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
6、Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
7、Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。
下载和安装
◆dist:该文件夹下放Spring的jar包,通常只需要Spring.jar文件即可。该文件夹下还有一些类似spring-Xxx.jar的压缩包, 这些压缩包是spring.jar压缩包的子模块压缩包。除非确定整个J2EE应用只需要使用Spring的某一方面时,才考虑使用这中分模块压缩包。通常建议使用Spring.jar
◆docs:该文件夹下包含spring的相关文档、开发指南及API参考文档。
◆lib:该文件夹下包含spring编译和运行所依赖的第三方类库,该路径下的类库并不是spring必需的,但如果需要使用第三方类库的支持,这里的类库就是必需要的。
◆samples:该文件夹下包含Spring的几个简单例子,可作为Spring入门学习的案例。
◆src:该文件夹下包含Spring的全部源文件,如果开发过程中有地方无法把握,可以参考该源文件,了解底层实现。
◆test:该文件夹下包含Spring的测试示例
◆tiger:该路径下存放关于JDK的相关内容
◆解压缩后的文件夹下,还包含一些关于Spring的License和项目相关文件
(2)将spring.jar复制到项目的CLASSPATH路径下,对于Web应用,将spring.jar文件复制到WEB-INF/lib路径下,该应用即可以利用Spring框架了。
(3)通常Spring的框架还依赖于其他一些jar文件,因此还须将lib下对应的包复制到WEB-INF/lib路径下,具体要复制哪些jar文件,取决于应用所需要使用的项目。通常需要复制cglib,dom4j,jakarta-commons,log4j等文件夹下的jar文件。
(4)为了编译java文件,可以找到Spring的基础类,将Spring.jar文件的路径添加到环境变量CLASSPATH中。当然,也可以使用ANT工具,但无须添加环境变量。如果使用Eclipse或者NetBeans等IDE时,也不需要设置环境变量。
参考资料
-
1
- 2
-
3
-
4
- 5
-
6
- 7
- 8
- 9
相关推荐
在深入理解`spring-cglib-repack-3.2.4.jar`和`spring-objenesis-repack-2.5.1.jar`这两个jar包之前,我们先来了解一下Spring框架的核心概念。 Spring框架的核心包括依赖注入(Dependency Injection,DI)和面向切...
在深入探讨这些jar包之前,我们先来理解Spring的核心概念。 Spring框架主要由以下核心模块组成: 1. **Core Container**:这是Spring的基础,包括Core和Beans模块,它们提供了依赖注入(Dependency Injection,DI)...
在"spring-framework-master"中,我们可以看到这些概念如何在源码中得到体现。 Spring框架主要由以下几个模块构成: 1. **核心容器**:包括Core Container和Beans模块,定义了Spring的基本部分,如Bean工厂、...
在Spring 1.0版本中,核心概念主要围绕IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)展开。IoC使得对象的创建和管理由Spring容器负责,而不是由代码直接创建,这样降低...
`spring-beans-3.1.xsd`还引入了`profile`概念,允许开发者根据不同的环境条件选择加载不同的bean配置,增强了部署的灵活性。例如,可以通过`, test">`来指定在开发或测试环境中使用的bean配置。 在`<bean>`元素中...
Spring AOP的关键概念包括: - 切面(Aspect):切面是关注点的模块化,比如日志、事务管理等。在Spring AOP中,切面可以通过注解或XML配置来定义。 - 连接点(Join Point):连接点是程序执行过程中的一个特定点,...
通过阅读这些文档,开发者可以了解到Spring的核心概念、模块结构、配置方式以及如何将Spring集成到实际项目中。 2. **libs文件夹**:包含了一系列的jar包,这些jar包是Spring框架的核心库。每个jar包都有特定的功能...
3. **spring-context**: 扩展了IoC容器,引入了上下文概念,提供了对国际化、事件、资源、缓存等支持。 4. **spring-aop**: 实现了面向切面编程(AOP),允许定义方法拦截器和切面,用于实现如日志、事务管理等功能。...
首先,让我们深入了解一下Spring框架的核心概念。IoC是Spring的核心特性,它将对象的创建和管理权交给了容器,使得开发者可以专注于业务逻辑,而不是繁琐的对象生命周期管理。通过XML配置文件或者注解方式,我们可以...
开发者可以通过阅读这些文档,理解Spring的核心概念,如依赖注入(Dependency Injection)、AOP(面向切面编程)、MVC(Model-View-Controller)框架、数据访问等,从而更好地利用Spring进行应用开发。 库文件...
首先,让我们了解Spring TX的核心概念。事务管理主要有两种模式:编程式和声明式。编程式事务管理通常通过PlatformTransactionManager接口实现,如DataSourceTransactionManager或JtaTransactionManager,允许开发者...
首先,我们来详细了解一下Spring Framework的核心概念。Spring框架以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)而著名。依赖注入允许开发者通过外部容器管理对象的...
了解其整体架构与核心概念以便建立Spring的模型 从框架入口开始抽丝剥茧,理解其每一个核心概念以及作用,并将这些核心技术点融汇起来 探究每一个核心的实现细节(UML图、跑单元测试用例、DEBUG,体悟)
1. **起步依赖(Starter Dependencies)**:Spring Boot通过"起步依赖"的概念,提供了一种简单的方式来添加需要的功能。每个起步依赖都是一个Maven或Gradle的模块,包含了项目运行所需的一系列依赖。例如,`spring-...
在深入探讨之前,我们先了解一下Spring Boot的基本概念。Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它默认配置了很多常见的Java企业级应用功能,如数据源、JPA、定时...
1. **Job和Step**:Job是Spring-Batch中的一个高级概念,代表了一个批处理任务,由一个或多个Step组成。Step是执行实际任务的最小单位,通常包含一个ItemReader、ItemProcessor和ItemWriter。 2. **DataSource**:...
本文将围绕"spring-mybatis-spring-1.3.2.tar.gz"这个压缩包,深入探讨SSM框架的核心概念、配置以及实际应用。 一、Spring框架 Spring作为Java企业级应用的核心框架,提供了依赖注入(Dependency Injection, DI)和...
1. **核心容器**:由`spring-core`, `spring-beans`, `spring-context`, `spring-expression`等jar组成,它们定义了Spring的基本概念,如Bean工厂和应用上下文,以及表达式语言(SpEL)。 2. **数据访问/集成**:...
本文将详细介绍Spring-Rabbit的使用方法、核心概念以及最佳实践。 一、RabbitMQ简介 RabbitMQ是一款开源的消息中间件,基于AMQP(Advanced Message Queuing Protocol)协议实现,它提供高可用性、可靠性和可扩展性...
3. **Spring MVC**:学习Spring MVC的架构,包括DispatcherServlet、Controller、Model、View、ModelAndView等概念,以及请求处理流程。 4. **Struts集成**:如果使用了spring-webmvc-struts.jar,需要了解如何在...