fbpx
维基百科

Spring Framework

Spring框架Java 平台的一个开源的全栈(full-stack应用程序框架控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于Java企业版平台构建的 Web 应用提供了大量的拓展支持。Spring 没有直接实现任何的编程模型,但它已经在 Java 社区中广为流行,基本上完全代替了企业级JavaBeans(EJB)模型。

Spring Framework
開發者Pivotal
首次发布2002年10月1日,​21年前​(2002-10-01
当前版本
  • 6.0.10 (2023年6月15日;穩定版本)[1]
源代码库
  • github.com/spring-projects/spring-framework
编程语言Java
操作系统跨平台
系統平台JVM
类型Application framework
许可协议Apache License 2.0
网站spring.io/projects/spring-framework 

Spring框架以 Apache License 2.0 开源许可协议的形式发布,该框架最初由 Rod Johnson 以及 Juergen Hoeller 等人开发。

版本历史 编辑

第一版由 Rod Johnson英语Rod Johnson (programmer) 开发,并在2002年10月发布在 Expert One-on-One J2EE Design and Development 一书中。2003年6月,Spring Framework 第一次发布在 Apache 2.0 许可证下。2004年3月,发布了里程碑的版本1.0,2004年9月以及2005年3月,又发布了新的里程碑版本。2006年,Spring Framework 获得了 Jolt 生产力奖 和 JAX 创新奖。[2][3]

2006年10月发布Spring 2.0,2007年11月 Spring 2.5,2009年12月 Spring 3.0,2011年 Spring 3.1,2013年11月 Spring 3.2.5,2013年12月发布了4.0版本。[4]值得注意的是,Spring 4.0 版本中增加了对 Java SE 8, Groovy 2, Java EE 7 的一些方面以及 WebSocket 的支持。

2017年9月 Spring Framework 正式发布了 5.0 版本,此版本引入了 Spring WebFlux,一个高性能、响应式、异步的 Web 框架。Spring 5.0 重点加强了对函数式编程、响应式程序设计(reactive programming)的支持能力,是一个非常大的进步。

核心功能模块 编辑

  • 强大的、基于 JavaBeans 的、采用控制反转(Inversion of Control,IoC)原则的 配置管理,使得应用程序的组建更加简易快捷。
  • 一个可用于 Java EE 等运行环境的核心 Bean工厂。
  • 数据库事务的一般化抽象层,允许声明式(Declarative)事务管理器,简化事务的划分使之与底层无关。
  • 内建的针对 JTA 和单个 JDBC 数据源的一般化策略,使Spring的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。
  • JDBC 抽象层提供了有针对性的异常等级(不再从 SQL 异常中提取原始代码),简化了错误处理,大大减少了程序员的编码量。再次利用 JDBC 时,你无需再写出另一个'终止'(finally)模块。并且面向 JDBC 的异常与 Spring 通用数据访问对象(Data Access Object)异常等级相一致。
  • 以资源容器,DAO 实现和事务策略等形式与 Hibernate,JDO 和 MyBatis 、SQL Maps 集成。利用控制反转机制全面解决了许多典型的 Hibernate 集成问题。所有这些全部遵从 Spring 通用事务处理和通用数据访问对象异常等级规范。
  • 灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如 JSPFreeMarkerVelocityThymeleaf 等。值得注意的是,Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts、WebWork 或 Tapestry
  • 提供诸如事务管理等服务的AOP框架。

在设计应用程序 Model 时,MVC模式(例如 Struts)通常难于给出一个简洁明了的框架结构。Spring 却具有能够让这部分工作变得简单的能力。程序开发员们可以使用Spring的JDBC抽象层重新设计那些复杂的框架结构。

控制反转容器(依赖注入 编辑

控制反转(IOC,Inverse Of Control),即把创建对象的权利交给框架,也就是指将对象的创建、对象的存储、对象的管理交给了Spring容器。Spring容器是Spring中的一个核心模块,用于管理对象,底层可以理解为是一个Map集合。

面向切面程序设计 编辑

面向切面程序设计(Aspect-Oriented Programming, AOP) 就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任分开封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

数据访问(DAO层支持) 编辑

Spring Data实现了对数据访问接口的统一,支持多种数据库访问框架或组件(如:JDBC、HibernateMyBatisiBatis))作为最终数据访问的实现。

事务管理 编辑

Spring框架为事务管理提供了一致的抽象,具有以下优点:

  • 跨不同事务API(如:Java事务JDBCHibernate和Java Persistence API事务(JPA))的一致编程模型
  • 支持声明式事务
  • 与诸如JTA之类的复杂事务API相比,用于程序化事务管理的API更简单
  • 与Spring的数据访问抽象出色地集成

模型-视图-控制器(MVC) 编辑

Spring MVC 实现了基于 MVC 设计方法的实现,结合基于Java注解的配置,允许开发者开发出低代码侵入的Web应用项目,并简便地实现大部分Web功能(包括请求参数注入、文件上传控制等)。

远程访问 编辑

约定大于配置”的快速应用开发 编辑

Spring Boot 编辑

Spring Boot是基于Spring Framework 4.0衍生的,用于快速搭建独立的基于生产级别的Spring应用的框架,可以以最小的依赖引入来构建一个Spring应用。并且它还具有以下特点:

  • 拥有嵌入式的Tomcat, Jetty, Undertow或者Reactor Netty(无需部署war文件
  • 尽可能地自动配置(@AutoConfiguration)Spring和第三方库
  • 提供用于生产的功能,例如指标、运行状态检查和外部化配置
  • 无需麻烦而冗余的XML配置,一切都可以使用Java配置

批处理 编辑

整合框架 编辑

相关链接 编辑

  • Spring Framework MVC Tutorial(页面存档备份,存于互联网档案馆
  • Simple Spring Demo(页面存档备份,存于互联网档案馆
  • Introduction to the Spring Framework by Rod Johnson(页面存档备份,存于互联网档案馆
  • The Spring Reference Documentation(页面存档备份,存于互联网档案馆)(PDF,1329 kb)- Rod Johnson et al. (2004-2005)

参考资料 编辑

  1. ^ 1.0 1.1 https://github.com/spring-projects/spring-framework/releases; 出版日期: 2023年6月15日.
  2. ^ Jolt winners 2006. [2017-03-30]. (原始内容于2008-12-29). 
  3. ^ JAX Innovation Award Gewinner 2006. [2017-03-30]. (原始内容于2009-08-17). 
  4. ^ Spring Framework 3.2.5 Released. Official Spring website. 7 Nov 2013 [16 October 2016]. (原始内容于2016-12-03). 


spring, framework, 此條目可参照英語維基百科相應條目来扩充, 2019年6月18日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, spring框架是, java, 平台的. 此條目可参照英語維基百科相應條目来扩充 2019年6月18日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 Spring框架是 Java 平台的一个开源的全栈 full stack 应用程序框架和控制反转容器实现 一般被直接称为 Spring 该框架的一些核心功能理论上可用于任何 Java 应用 但 Spring 还为基于Java企业版平台构建的 Web 应用提供了大量的拓展支持 Spring 没有直接实现任何的编程模型 但它已经在 Java 社区中广为流行 基本上完全代替了企业级JavaBeans EJB 模型 Spring Framework開發者Pivotal首次发布2002年10月1日 21年前 2002 10 01 当前版本6 0 10 2023年6月15日 穩定版本 1 源代码库github wbr com wbr spring projects wbr spring framework编程语言Java操作系统跨平台系統平台JVM类型Application framework许可协议Apache License 2 0网站spring wbr io projects spring framework Spring框架以 Apache License 2 0 开源许可协议的形式发布 该框架最初由 Rod Johnson 以及 Juergen Hoeller 等人开发 目录 1 版本历史 2 核心功能模块 2 1 控制反转容器 依赖注入 2 2 面向切面程序设计 2 3 数据访问 DAO层支持 2 4 事务管理 2 5 模型 视图 控制器 MVC 2 6 远程访问 2 7 约定大于配置 的快速应用开发 2 7 1 Spring Boot 2 8 批处理 2 9 整合框架 3 相关链接 4 参考资料版本历史 编辑第一版由 Rod Johnson 英语 Rod Johnson programmer 开发 并在2002年10月发布在 Expert One on One J2EE Design and Development 一书中 2003年6月 Spring Framework 第一次发布在 Apache 2 0 许可证下 2004年3月 发布了里程碑的版本1 0 2004年9月以及2005年3月 又发布了新的里程碑版本 2006年 Spring Framework 获得了 Jolt 生产力奖 和 JAX 创新奖 2 3 2006年10月发布Spring 2 0 2007年11月 Spring 2 5 2009年12月 Spring 3 0 2011年 Spring 3 1 2013年11月 Spring 3 2 5 2013年12月发布了4 0版本 4 值得注意的是 Spring 4 0 版本中增加了对 Java SE 8 Groovy 2 Java EE 7 的一些方面以及 WebSocket 的支持 2017年9月 Spring Framework 正式发布了 5 0 版本 此版本引入了 Spring WebFlux 一个高性能 响应式 异步的 Web 框架 Spring 5 0 重点加强了对函数式编程 响应式程序设计 reactive programming 的支持能力 是一个非常大的进步 核心功能模块 编辑强大的 基于 JavaBeans 的 采用控制反转 Inversion of Control IoC 原则的 配置管理 使得应用程序的组建更加简易快捷 一个可用于 Java EE 等运行环境的核心 Bean工厂 数据库事务的一般化抽象层 允许声明式 Declarative 事务管理器 简化事务的划分使之与底层无关 内建的针对 JTA 和单个 JDBC 数据源的一般化策略 使Spring的事务支持不要求 Java EE 环境 这与一般的 JTA 或者 EJB CMT 相反 JDBC 抽象层提供了有针对性的异常等级 不再从 SQL 异常中提取原始代码 简化了错误处理 大大减少了程序员的编码量 再次利用 JDBC 时 你无需再写出另一个 终止 finally 模块 并且面向 JDBC 的异常与 Spring 通用数据访问对象 Data Access Object 异常等级相一致 以资源容器 DAO 实现和事务策略等形式与 Hibernate JDO 和 MyBatis SQL Maps 集成 利用控制反转机制全面解决了许多典型的 Hibernate 集成问题 所有这些全部遵从 Spring 通用事务处理和通用数据访问对象异常等级规范 灵活的基于核心 Spring 功能的 MVC 网页应用程序框架 开发者通过策略接口将拥有对该框架的高度控制 因而该框架将适应于多种呈现 View 技术 例如 JSP FreeMarker Velocity Thymeleaf 等 值得注意的是 Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层 例如 Struts WebWork 或 Tapestry 提供诸如事务管理等服务的AOP框架 在设计应用程序 Model 时 MVC模式 例如 Struts 通常难于给出一个简洁明了的框架结构 Spring 却具有能够让这部分工作变得简单的能力 程序开发员们可以使用Spring的JDBC抽象层重新设计那些复杂的框架结构 控制反转容器 依赖注入 编辑 控制反转 IOC Inverse Of Control 即把创建对象的权利交给框架 也就是指将对象的创建 对象的存储 对象的管理交给了Spring容器 Spring容器是Spring中的一个核心模块 用于管理对象 底层可以理解为是一个Map集合 面向切面程序设计 编辑 面向切面程序设计 Aspect Oriented Programming AOP 就是将那些与业务无关 却为业务模块所共同调用的逻辑或责任分开封装起来 便于减少系统的重复代码 降低模块间的耦合度 并有利于未来的可操作性和可维护性 数据访问 DAO层支持 编辑 Spring Data实现了对数据访问接口的统一 支持多种数据库访问框架或组件 如 JDBC Hibernate MyBatis iBatis 作为最终数据访问的实现 事务管理 编辑 Spring框架为事务管理提供了一致的抽象 具有以下优点 跨不同事务API 如 Java事务 JDBC Hibernate和Java Persistence API事务 JPA 的一致编程模型 支持声明式事务 与诸如JTA之类的复杂事务API相比 用于程序化事务管理的API更简单 与Spring的数据访问抽象出色地集成模型 视图 控制器 MVC 编辑 Spring MVC 实现了基于 MVC 设计方法的实现 结合基于Java注解的配置 允许开发者开发出低代码侵入的Web应用项目 并简便地实现大部分Web功能 包括请求参数注入 文件上传控制等 远程访问 编辑 约定大于配置 的快速应用开发 编辑 Spring Boot 编辑 Spring Boot是基于Spring Framework 4 0衍生的 用于快速搭建独立的基于生产级别的Spring应用的框架 可以以最小的依赖引入来构建一个Spring应用 并且它还具有以下特点 拥有嵌入式的Tomcat Jetty Undertow或者Reactor Netty 无需部署war文件 尽可能地自动配置 AutoConfiguration Spring和第三方库 提供用于生产的功能 例如指标 运行状态检查和外部化配置 无需麻烦而冗余的XML配置 一切都可以使用Java配置批处理 编辑 整合框架 编辑相关链接 编辑維基教科書中的相關電子教程 en Spring frameworkSpring Framework 页面存档备份 存于互联网档案馆 Spring Framework API 页面存档备份 存于互联网档案馆 Javadoc http www springframework org dtd spring beans dtd 页面存档备份 存于互联网档案馆 http www springframework org docs reference springbeansdtd html 页面存档备份 存于互联网档案馆 as HTML Spring Framework NET 页面存档备份 存于互联网档案馆 Spring Framework MVC Tutorial 页面存档备份 存于互联网档案馆 Simple Spring Demo 页面存档备份 存于互联网档案馆 Introduction to the Spring Framework by Rod Johnson 页面存档备份 存于互联网档案馆 The Spring Reference Documentation 页面存档备份 存于互联网档案馆 PDF 1329 kb Rod Johnson et al 2004 2005 SpringHub 页面存档备份 存于互联网档案馆 Domain Specific Modeling DSM in IoC frameworks 页面存档备份 存于互联网档案馆 参考资料 编辑 1 0 1 1 https github com spring projects spring framework releases 出版日期 2023年6月15日 Jolt winners 2006 2017 03 30 原始内容存档于2008 12 29 JAX Innovation Award Gewinner 2006 2017 03 30 原始内容存档于2009 08 17 Spring Framework 3 2 5 Released Official Spring website 7 Nov 2013 16 October 2016 原始内容存档于2016 12 03 取自 https zh wikipedia org w index php title Spring Framework amp oldid 77167763, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。