Spring Framework是什么

子凡 问答 2019-08-06 15:58:05 阅读(...)

Spring框架是Java平台的开源的全栈应用程序框架和控制反转容器实现,一般被直接称为Spring。框架的一些核心功能理论上可用于任何Java应用,但Spring还为基于Java企业版平台构建的Web应用提供了大量的拓展支持。

Spring 框架Java 平台的一个开源的全栈应用程序框架和控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于 Java 企业版平台构建的 Web 应用提供了大量的拓展支持。

Spring Framework

虽然 Spring 没有直接实现任何的编程模型,但它已经在 Java 社区中广为流行,基本上完全代替了企业级 JavaBeans(EJB)模型。

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

版本历史

第一版由 Rod Johnson 开发,并在 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 创新奖。

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 版本。值得注意的是,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 抽象层重新设计那些复杂的框架结构。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • net framework

    net framework是什么

    .NET Framework是Windows的托管执行环境,可为其运行的应用提供各种服务,组件有公共语言运行时 (CLR),是处理运行应用的执行引擎;.NET Framework类库,提供开发人员从其自己应用中调用的已测试、可重用代码库。
  • software development 软件开发

    spring框架有哪些

    spring框架主要七大模块:1.Spring AOP;2. Spring JDBC;3. Spring Core;4.Spring AOP;5. Spring Context;6. Spring Web;7.Spring Web MVC。
  • Spring Boot

    什么是Spring Boot

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
  • 戴尔 Dell Luna

    戴尔全新可持续概念Luna笔记本电脑可在几秒钟内拆卸

    去年,戴尔用 Concept Luna 引起了我们的兴趣,它试图用更少的螺丝制造一款可持续的笔记本电脑,使用更容易升级和回收的组件。与以可修复性换取薄度的超便携设备相比,它感觉就像呼吸新鲜空气。今年,戴尔进一步推动了这一概念。
  • Vue 框架 Vue framework

    Vue框架的优点是什么

    vue框架的优点是简单易学;灵活高效;双向数据绑定,通过MVVM思想实现数据的双向绑定,让数据操作更简单;组件化开发,Vue.js通过组件,把一个单页应用中的各种模块拆分到单独的组件中,实现了html的封装和重用;极大解放DOM。操作。
  • Metasploit

    Metasploit是什么

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。