2. Spring 和 Spring 框架的历史 {#overview-history

    预计阅读时间: 3 分钟

    Spring 于 2003 年诞生,是为了应对早期 J2EE 规范的复杂性。虽然有些人认为 Java EE 和 Spring 处于竞争关系,但实际上 Spring 是对 Java EE 的补充。 Spring 编程模型并不采用 Java EE 平台规范;相反,它与精心挑选的 EE 伞形架构下的个别规范相集成:

    Spring 框架也支持依赖注入(JSR 330)和通用注解(JSR 250)规范,应用开发者可以选择使用这些规范而不是 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 框架之外,还有其他项目,例如 Spring Boot、Spring Security、Spring Data、Spring Cloud、Spring Batch 等。 每个项目都有自己的源代码仓库、问题跟踪器和发布节奏,这一点很重要。请访问 spring.io/projects 以获取 Spring 项目的完整列表。