Spring——Spring 框架概览

Spring 框架概览

Version 5.3.22

历史

Spring 框架分为几个模块。应用程序可以选择它们需要的模块。最核心的是包括配置模型(configuration model)和依赖注入(dependency injection)机制的核心容器(core container)模块。除此之外,Spring 框架还为不同的应用程序架构提供了基础支持,包括消息传递、事务数据和持久性以及 web。它还包括基于 servlet 的 Spring MVC web 框架,以及对应的 Spring WebFlux 响应式 web 框架。

Spring 出现于2003年,作为对早期 J2EE 规范复杂性的响应。虽然有些人认为 Java EE 和 Spring 是竞争关系,但事实上,Spring 是 Java EE 的补充。Spring 编程模型没有包含所有 Java EE 平台规范,而是集成了其中精心挑选的个别规范:

Spring框架还支持依赖注入(JSR 330)和公共注释(JSR 250)规范,应用程序开发人员可以选择使用它们来代替Spring框架提供的特定于Spring的机制。

从 Spring Framework 5.0 开始,Spring 要求 Java EE 7 级别(例如 Servlet 3.1+, JPA 2.1+ )作为最低要求——同时在运行时提供与 Java EE 8 级别的更新API(例如 Servlet 4.0, JSON 绑定 API )的开箱即用的集成。这使得 Spring 与 Tomcat 8 和 9、WebSphere 9 和 JBoss EAP 7 等完全兼容。

随着时间的推移,Java EE 在应用程序开发中的角色已经演变。在 Java EE 和 Spring 的早期,创建应用程序是为了部署到应用服务器。今天,在 Spring Boot 的帮助下,应用程序以一种对 devops 和云友好的方式创建,嵌入了 Servlet 容器,更改起来很简单。在 Spring Framework 5 中,WebFlux 应用甚至不直接使用 Servlet API,而是可以运行在非 Servlet 容器的服务器(比如 Netty )上。

设计哲学

当学习一个框架时,重要的是不仅要知道它做什么,而且要知道它遵循什么原则。以下是Spring框架的指导原则:

  • 在每个层面都提供选择。Spring 允许尽可能延迟设计决策。例如,可以通过配置切换持久化提供程序,而无需更改代码。对于许多其他基础设施以及与第三方 API 的集成也是如此。

  • 容纳不同的观点。Spring 崇尚灵活性,不会固执地认为事情应该如何做。它以不同的观点支持广泛的应用需求。

  • 保持强大的向后兼容性。Spring 的发展经过了精心的管理,使得版本之间很少有破坏性的更改。Spring 支持精心选择的 JDK 版本和第三方库,以促进依赖 Spring 的应用程序和库的维护。

  • 关心 API 设计。Spring 团队花了大量的时间和精力来制作直观的 API,并支持多个版本和多年的 API。

  • 为代码质量设定高标准。Spring 框架非常强调有意义的、最新的和准确的 javadoc。它是少数几个可以声称代码结构干净、包之间没有循环依赖关系的项目之一。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值