Spring
简介,历史与发展
(1)
春天来了——
Spring
来了!
Spring
在起源可以回溯到
Rod Johnson
编写的“
Expert
One-to-One J2EE Design and Development
”一书
(Wrox
,
2002)
。在这本书中,
Rod
展示了他的
interface21
框架,他为自己的应用编写了这一框架。这一框架被发布到开源世界后,组成了现在我们所知的
Spring
框架的基础。
Spring
在早期的
beta
和发布备选版本阶段进行得很迅速,第一个正式版本
1.0
在
2004
年
3
月
24
日
发布。
官方:
http://www.springframework.org
(2)What Is Spring(Spring
是什么
)
?
或许解释清楚
Spring
技术到底是什么会很困难。通常,
Spring
是指一个用于构造
JAVA
应用程序的轻量级框架,但这句话包含两个有趣的地方。首先,你可以采用
Spring
来构造任何程序,这一
Apache Struts
这样的框架不同,你不限定于只编写
WEB
应用。其次,以上解释中的“轻量级”并不意味着类数量很少,或者发行包大小很小,实际上,它指的是
Spring
哲学原理的总称——那就是最少的侵入。
Spring
是轻量级的,意味着你只需对你的程序代码做很少改动
(
假若有的话
)
,而获得
Spring
核心带来的好处,你也可以在任何时候选择抛弃
Spring
,你会发现这实在很容易。注意,上面这句话只针对
Spring
核心本身——很多附加的
Spring
组件,比如数据访问,需要与
Spring
框架有相对紧密得多的耦合关系。但是,这些耦合带来的好处显而易见。
Spring
是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为
J2EE
应用程序开发提供集成的框架。
(3)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的发展历程之前,我们需要先了解Web容器的工作原理及其与Servlet之间的关系。Web容器是运行Java Web应用程序的基础环境,如Tomcat、Jetty、JBoss等。它们的主要职责是接收来自客户端的HTTP请求,解析...
### Spring Framework 简介 #### 一、Spring Framework 的独特之处 在众多J2EE框架中,Spring Framework 自2003年发布以来一直备受瞩目。与其他框架相比,Spring Framework 的独特之处在于: 1. **专注于管理业务...
Spring对事务管理的支持随着版本的升级而不断演进,作者回顾了这一发展历程,并详细比较了基于JDK动态代理和CGLIB动态代理实现的@Transactional注解管理事务的区别。 在Spring中,获取代理对象并访问目标对象是常见...
Spring的历史可以从其诞生背景和演进过程来理解,它从一个轻量级的IoC容器发展成为现代企业级应用开发的基石。设计理念上,Spring强调简洁、模块化和可测试性,鼓励依赖注入和面向切面编程(AOP),以促进代码的解耦...
自此之后,Spring Security 成为了 Spring 生态系统中的一个重要组成部分,不断迭代更新,以适应不断变化的安全需求和技术发展。 ##### 1.3 发行版本号 Spring Security 3.0.1 是在 Spring Security 3.0 的基础上...
Spring 3.0是Spring框架的...综上所述,"spring 3.0 jar spring最新开发包"对于理解Spring框架的历史发展和核心概念具有重要意义,而了解并掌握这些知识,将有助于Java开发者更好地利用Spring框架进行现代应用的开发。
Spring 2.0版本是Spring发展历史上的一个重要里程碑,它在前一个版本的基础上进行了大量的优化和改进,引入了许多新的特性和功能。 #### 二、Spring 2.0的核心技术 ##### 1. 依赖注入(Dependency Injection, DI)...
- **历史**:Spring框架最初由Rod Johnson创建于2002年,随着版本的迭代,它已经成为Java领域最流行的开源框架之一。 - **特点**: - 轻量级:容器本身占用的资源很少,可以很方便地进行部署。 - 控制反转...
然而,需要注意的是,随着Spring框架的不断发展,许多Spring Modules的功能已经被Spring本身所吸收,或者有更现代的替代品出现,例如Spring Boot和Spring Data等项目。因此,在现代项目中,虽然Spring Modules的历史...
- Spring Data JPA的出现并不是一蹴而就的,它是在ODBC/JDBC、EJB1.x/2.x等早期数据访问技术的基础上发展起来的。 - 这些早期技术为后来的数据访问框架提供了宝贵的经验,也为Spring Data JPA提供了演进方向和改进...
Spring框架的历史可以追溯到2003年,它最初是对早期J2EE规范复杂性的回应。随着时间的发展,Spring框架逐渐成为Java企业开发的重要标准之一。它不仅支持Java EE标准规范,还集成了许多其他API,为开发者提供了极大的...
随着Java EE(Java Platform, Enterprise Edition)的发展,Spring框架对其进行了补充,而不是与之竞争。Spring与Java EE中精心选择的规范进行了集成,例如Servlet API、WebSocket API、并发工具API、JSON绑定API、...
Spring Framework的发展离不开其背后的社区和众多的贡献者,如Rod Johnson、Juergen Hoeller、Keith Donald等人的贡献,共同推动了Spring技术栈的发展。 #### 版权声明 最后,文档中的版权声明表明,本手册以及...
Spring Security 3.0.0是Spring Security发展的一个关键阶段,引入了大量新特性与改进。此版本加强了对Spring Framework 3.0的支持,带来了更好的可配置性和灵活性。以下是一些核心变化: 1. **表达式式访问控制**...
总结起来,Spring 3.0.2虽然已经过时,但它所包含的核心理念和功能在当前的Spring版本中仍然得到保留和发展,对于了解Spring的进化过程和理解其设计原则有着重要的历史价值。通过学习这个版本,开发者可以更好地把握...
Spring框架是Java企业级开发中广泛使用的一个开源框架,其历史可以追溯到2002年,由Rod Johnson发起。Spring技术内幕:深入解析Spring架构与设计原理(第2版)一书深入剖析了Spring框架的设计和架构原理,对于理解...
本教程将向您介绍Spring的基本概念、发展历程以及如何利用其核心特性——控制反转(IoC)和依赖注入(DI)来简化软件设计。 ### Spring框架概述 Spring是一个开源的Java平台,它主要为开发企业级应用提供了丰富的...