概述

2021-05-31  本文已影响0人  JiinYuu
Version 5.3.7

Spring使得构建Java应用变得简单。它提供了在企业环境中使用Java语言所需的一切,支持Groovy和Kotlin作为JVM上的替代语言,以及根据应用程序的需要创建多种体系结构的灵活性。从Spring Framework 5.1开始,Spring需要JDK 8+ (Java SE 8+),并提供对JDK 11 LTS的开箱即用支持。建议使用Java SE 8 update 60作为Java 8的最小补丁版本,但使用最新的补丁版本也可。

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

Spring是开源的。它有一个庞大而活跃的社区,基于各种不同的真实世界用例提供持续的反馈。这帮助Spring在很长一段时间内成功地发展。

1.我们说的“Spring”指的是什么?

术语“Spring”在不同的上下文中有不同的含义。它可以用来引用Spring Framework项目本身,这是最开始的Spring。随着时间的推移,其他Spring项目也构建在Spring Framework之上。通常,当人们说“Spring”时,他们指的是整个Spring家族。本参考文档关注的是:Spring Framework本身。

Spring Framework分为多个模块。应用程序可以根据需要选择。核心是IOC模块,包括一个配置模型和一个依赖注入机制。除此之外,Spring框架为不同的应用程序架构提供了基础支持,包括消息队列、事务、持久化以及web。它还包括基于Servlet的Spring MVC web框架,以及Spring WebFlux响应式web框架。

2.Spring和Spring Framework的历史

Spring出现于2003年,是为了应对早期J2EE规范的复杂性。虽然有些人认为Java EE和Spring是竞争关系,但Spring实际上是Java EE的补充。Spring编程模型不包含Java EE平台规范;相反,它与Java EE中精心挑选的各个规范集成在一起:

Spring框架还支持Dependency Injection(JSR 330)和Common Annotations(JSR 250)规范,应用程序开发人员可以选择使用这些规范来代替Spring Framework提供的特定于Spring的机制。

从Spring Framework 5.0开始, Spring至少需要Java EE 7(e.g. Servlet 3.1+,JPA 2.1+)- 同时在运行时提供与Java EE 8级别的新API(e.g. 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)。

3.设计理念

当你学习一个框架时,不仅要知道它是做什么的,还要知道它遵循什么原则。下面是Spring Framework 的指导原则:

上一篇下一篇

猜你喜欢

热点阅读