`
zwh910621
  • 浏览: 143218 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring简介,历史与发展

阅读更多

 

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容器通俗原理,从Struts1到Struts2,再到Spring的发展过程,web开发经历的各种理念变迁!

    spring杂谈 作者zhang KaiTao

    1.9 Spring对事务管理的支持的发展历程(基础篇) 1.10 基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)到底有什么区别。 1.11 在spring中获取代理对象代理的目标对象工具类 1.12 如何为...

    Spring框架研究与探讨

    其发展历史从学术领域和研发机构 的运用开始,目前流行的Spring应用程序框架将AOP思想融入了整个框架的设计开发与应用当中。使用Spring框架固然给 我们的编程带来了好处与便利,但是同时存在着一个问题,对于...

    JavaJ2EE发展历史

    JavaJ2EE发展历史

    SpringAOP使用介绍,从前世到今生

    SpringAOP发展到现在出现的全部3种配置方式。 由于Spring强大的向后兼容性,实际代码中往往会出现很多配置混杂的情况,而且居然还能工作,本文希望帮助大家理清楚这些知识。 我们先来把它们的概念和关系说说清楚。 ...

    SpringCloud1.pdf

    - 知道什么是SpringCloud - 独立搭建Eureka注册中心 - 独立配置Robbin负载均衡 # 1.系统架构演变 随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此不断的演进、...

    Spring Security 3应用的11个步骤.doc

    1. Spring Security 11个步骤为应用程序添加安全防护 ...2. 历史与现状 自2003年出现的Spring扩展插件Acegi Security发展而来。 目前最新 版本为3.x,已成为Spring的一部分。 为J2EE企业应用程序提供可靠的安全性服务。

    SpringBoot项目基于spring boot的小型诊疗预约平台的设计与开发.zip

    4. **电子病历系统**:存储和管理患者的医疗记录和治疗历史,便于医生了解患者情况。 5. **在线咨询与沟通**:支持患者和医生之间的即时消息交流,包括咨询问题和远程诊断。 6. **移动设备优先设计**:采用响应式...

    Spring Cloud 微服务构架设计与实战1

    内容简介:一、什么是微服务架构 Microservice?二、微服务的发展历史微服务架构目前非常火爆,在架构领域属于当红的明星架构,那么什么是微服务架构?微服架

    基于Spring Boot + Vue3 前后端分离商城系统

    基于Spring Boot + Vue3 前后端分离商城系统,下载下来即可以使用,可以作为毕业设计和课程设计。 项目是一套电商系统,包括 ...前端模块化的发展历史 传统页面和单页面的权衡与抉择 准备工作及基础环境搭建(后端)

    SpringBoot项目基于Spring Boot的疗养院管理系统的设计与实现.zip

    1. **患者信息管理**:记录和管理患者的个人资料、健康状况和治疗历史。 2. **预约和调度系统**:允许患者进行在线预约,同时帮助管理人员优化医护人员的工作排班。 3. **治疗计划执行跟踪**:创建并监督个性化的...

    SpringBoot项目基于Spring Boot的可盈保险合同管理系统的设计与实现.zip

    SpringBoot项目基于Spring Boot的可盈保险合同管理系统是为保险公司、代理人以及投保人设计的保险合同管理与服务平台。它利用Spring Boot的快速开发特性,结合了合同创建、风险评估、保单跟踪、理赔处理、客户关系...

    SpringBoot项目基于Spring Boot的库存管理系统.zip

    2. **高效的入库与出库管理**:简化商品的入库和出库流程,并记录所有相关操作的历史数据。 3. **预警和报警机制**:当库存低于或超过预设阈值时,系统自动发出提醒或警报。 4. **需求预测分析**:通过历史数据...

    sockjs JAVA版本的客户端,从spring框架中抽离出来的,不依赖于SPRING框架.rar

    然而,从宏观的视角看,总会有那么几个特殊的标志事件引发变革,有那么一些璀璨的人物掀起风云,使得人类社会的发展呈现一种陡然跃迁的态势,历史学家因而得以将人类社会分割为不同的时代。 真的是陡然的跃迁吗?在...

    平板显示发展史

    Struts,Hibernate,Spring集成开发宝典.pdf asp.net mvc教程 jquery-ui-1.9.2.(免费) 50个最受网友欢迎的HTML5资料(珍藏版) 热门招聘 【用友汽车信息科技(上海)有限公司】应用维护工程师 【广州翁般扎信息...

    基于SpringBoot+SpringSecurity+Thymeleaf新冠疫情管理系统设计毕业+数据库(毕设源码).zip

    下方则有疫情发展趋势图与比例图展示各个时间段疫情状况与各个人群的比例关系。 确诊患者管理界面:将当前确诊患者列出显示其基本信息,左下角显示共有多少确诊患者,并可选择每页显示多少条数据,数据右侧则是对...

    房地产管理系统(hibernate+spring+AJAX)

    又可以按历史客户、成交客户、潜在客户、意向客户来时行查询方便管理员快速查的到相关客户 客户管理 主要是查看时间段内有没有新增客户。便于了解本公司的客户人数及发展业务规模。 2、 用户环境 J2sdk6.0 3、其他...

    java知识+ssm框架+开源项目+小程序的思维导图

    java知识:1、java简介,2、java主要特性,3、java发展历史..............18、java Number & Math 类..........27、java泛型,28、java序列化,29、java网络编程 ssm框架:(aop篇),(cache篇),ioc篇),(mvc篇...

    webx3框架指南PDF教程附学习Demo

    我并不是说所有的框架都一样好,而是说只要假以时日,所有的框架在发展过程中,必然会积聚好的方面,淘汰坏的方面,从而变得足够好。从这个角度看,的确没有特别明显的理由来选择Webx,但也没有明显的理由不选择Webx...

Global site tag (gtag.js) - Google Analytics