Spring Framework Overview
in Java 开发 with 2 comment

Spring Framework Overview

in Java 开发 with 2 comment

Spring Framework Overview

5.3.13

Spring 使创建 Java 企业应用程序变得容易。它提供了在企业环境中使用 Java 语言所需的一切,支持 Groovy 和 Kotlin 作为 JVM 上的替代语言,并具有根据应用程序需要创建多种体系结构的灵活性。从 SpringFramework 5.1开始,Spring 需要 JDK 8+ (Java SE 8+) 并为 JDK 11 LTS 提供现成的支持。建议将 Java SE 8 update 60 作为 Java8 的最低补丁版本,但通常建议使用最新的补丁版本。

Spring 支持广泛的应用场景。在大型企业中,应用程序通常存在很长时间,并且必须在 JDK 和应用程序服务器上运行,其升级周期超出了开发人员的控制。另一些可能作为嵌入服务器的单个 jar 运行,可能在云环境中。还有一些可能是不需要服务器的独立应用程序(如批处理或集成工作负载)。

Spring 是开源的。它有一个庞大而活跃的社区,根据各种各样的实际用例提供持续的反馈。这帮助 Spring 在很长一段时间内成功地进化。

What We Mean By "Spring"

为什么要叫 "Spring"

"Spring" 一词在不同的语境中意味着不同的事物。它可以用来指代 Spring 框架项目本身,它就是从这里开始的。随着时间的推移,其他 Spring 项目已经建立在 Spring 框架之上。通常,当人们说 "Spring" 时,他们指的是整个项目家族。本参考文档的重点是:Spring 框架本身。

Spring 框架分为多个模块。应用程序可以选择所需的模块。核心是 IOC 模块,包括配置模型和依赖项注入机制。除此之外,Spring 框架还为不同的应用程序体系结构提供了基础支持,包括消息传递、事务数据和持久性以及 web 应用程序。它还包括基于 Servlet 的 SpringMvcWeb 框架,以及并行的 SpringWebFlux 反应式 web 框架。

History of Spring and the Spring Framework

Spring 和 Spring Framework 的历史

Spring 于 2003 年诞生,作为对早期 J2EE 规范复杂性的响应。虽然有些人认为 java EE 和 Spring 将处于竞争状态,但实际上,Spring 是 java EE 的补充。Spring 编程模型不包含 JavaEE 平台规范;相反,它集成了 EE 平台中的规范

从 Spring Framework 5.0 开始,Spring 至少需要 Java EE 7 级别(例如 Servlet 3.1+、JPA 2.1+)- 同时,在 Java EE 8 级别提供与较新 API 的开箱即用集成 (例如 Servlet 4.0、JSON Binding 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 Framework,还有其他项目,例如 Spring Boot、Spring Security、Spring Data、Spring Cloud、Spring Batch 等。 重要的是要记住,每个项目都有自己的源代码存储库、问题跟踪器和发布节奏。 有关 Spring 项目的完整列表,请参阅 spring.io/projects。

Design Philosophy

设计理念

当您了解一个框架时,重要的是不仅要了解它的作用,还要了解它遵循的原则。 以下是 Spring Framework 的指导原则: