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
。
分享到:
相关推荐
web容器通俗原理,从Struts1到Struts2,再到Spring的发展过程,web开发经历的各种理念变迁!
1.9 Spring对事务管理的支持的发展历程(基础篇) 1.10 基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)到底有什么区别。 1.11 在spring中获取代理对象代理的目标对象工具类 1.12 如何为...
其发展历史从学术领域和研发机构 的运用开始,目前流行的Spring应用程序框架将AOP思想融入了整个框架的设计开发与应用当中。使用Spring框架固然给 我们的编程带来了好处与便利,但是同时存在着一个问题,对于...
JavaJ2EE发展历史
SpringAOP发展到现在出现的全部3种配置方式。 由于Spring强大的向后兼容性,实际代码中往往会出现很多配置混杂的情况,而且居然还能工作,本文希望帮助大家理清楚这些知识。 我们先来把它们的概念和关系说说清楚。 ...
- 知道什么是SpringCloud - 独立搭建Eureka注册中心 - 独立配置Robbin负载均衡 # 1.系统架构演变 随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此不断的演进、...
1. Spring Security 11个步骤为应用程序添加安全防护 ...2. 历史与现状 自2003年出现的Spring扩展插件Acegi Security发展而来。 目前最新 版本为3.x,已成为Spring的一部分。 为J2EE企业应用程序提供可靠的安全性服务。
4. **电子病历系统**:存储和管理患者的医疗记录和治疗历史,便于医生了解患者情况。 5. **在线咨询与沟通**:支持患者和医生之间的即时消息交流,包括咨询问题和远程诊断。 6. **移动设备优先设计**:采用响应式...
内容简介:一、什么是微服务架构 Microservice?二、微服务的发展历史微服务架构目前非常火爆,在架构领域属于当红的明星架构,那么什么是微服务架构?微服架
基于Spring Boot + Vue3 前后端分离商城系统,下载下来即可以使用,可以作为毕业设计和课程设计。 项目是一套电商系统,包括 ...前端模块化的发展历史 传统页面和单页面的权衡与抉择 准备工作及基础环境搭建(后端)
1. **患者信息管理**:记录和管理患者的个人资料、健康状况和治疗历史。 2. **预约和调度系统**:允许患者进行在线预约,同时帮助管理人员优化医护人员的工作排班。 3. **治疗计划执行跟踪**:创建并监督个性化的...
SpringBoot项目基于Spring Boot的可盈保险合同管理系统是为保险公司、代理人以及投保人设计的保险合同管理与服务平台。它利用Spring Boot的快速开发特性,结合了合同创建、风险评估、保单跟踪、理赔处理、客户关系...
2. **高效的入库与出库管理**:简化商品的入库和出库流程,并记录所有相关操作的历史数据。 3. **预警和报警机制**:当库存低于或超过预设阈值时,系统自动发出提醒或警报。 4. **需求预测分析**:通过历史数据...
然而,从宏观的视角看,总会有那么几个特殊的标志事件引发变革,有那么一些璀璨的人物掀起风云,使得人类社会的发展呈现一种陡然跃迁的态势,历史学家因而得以将人类社会分割为不同的时代。 真的是陡然的跃迁吗?在...
Struts,Hibernate,Spring集成开发宝典.pdf asp.net mvc教程 jquery-ui-1.9.2.(免费) 50个最受网友欢迎的HTML5资料(珍藏版) 热门招聘 【用友汽车信息科技(上海)有限公司】应用维护工程师 【广州翁般扎信息...
下方则有疫情发展趋势图与比例图展示各个时间段疫情状况与各个人群的比例关系。 确诊患者管理界面:将当前确诊患者列出显示其基本信息,左下角显示共有多少确诊患者,并可选择每页显示多少条数据,数据右侧则是对...
又可以按历史客户、成交客户、潜在客户、意向客户来时行查询方便管理员快速查的到相关客户 客户管理 主要是查看时间段内有没有新增客户。便于了解本公司的客户人数及发展业务规模。 2、 用户环境 J2sdk6.0 3、其他...
java知识:1、java简介,2、java主要特性,3、java发展历史..............18、java Number & Math 类..........27、java泛型,28、java序列化,29、java网络编程 ssm框架:(aop篇),(cache篇),ioc篇),(mvc篇...
我并不是说所有的框架都一样好,而是说只要假以时日,所有的框架在发展过程中,必然会积聚好的方面,淘汰坏的方面,从而变得足够好。从这个角度看,的确没有特别明显的理由来选择Webx,但也没有明显的理由不选择Webx...