Spring框架使开发Java企业应用非常方便。它提供了所有在企业开发环境中的Java语言支持,同时支持Groovy和Kotlin作为JVM上的可选语言。Spring 5.1起,Spring需要JDK 8及以上版本。
Spring支持很多应用场景,包括长期运行的后台服务、云服务平台的单个jar应用。
Spring是开源的。
Spring框架是包含多个模块。应用按需选择相应的模块。核心模块包括配置模式和依赖注入机制。
Spring还支持消息、事务、数据持久化和web应用。它包含了基于Servlet的Spring MVC框架和响应式web框架Spring WebFlux。
Spring历史
Spring开始于2003年,作为java EE的补充。Spring支持以下Java EE特性:
-
Servlet API (JSR 340)
-
WebSocket API (JSR 356)
-
Concurrency Utilities (JSR 236)
-
JSON Binding API (JSR 367)
-
Bean Validation (JSR 303)
-
JPA (JSR 338)
-
JMS (JSR 914)
- Dependency Injection (JSR 330)
- Common Annotations (JSR 250)
在过去Java应用部署在应用服务器(application server)内。现在,在Spring Boot的帮助下,应用可以直接通过嵌入的Servlet容器运行。
Spring任然在持续进化。除了Spring框架,还有其它项目,比如Spring Boot, Spring Security, Spring Data, Spring Cloud, Spring Batch。
Spring的设计哲理
- 在所有层面提供选择。比如,你可以通过配置来切换不同的数据库而不用改变代码。
- 适应不同的观点。Spring灵活地支持不同的应用场景。
- 维持向后兼容。Spring尽可能不做破坏性改动,谨慎地选择JDK和三方库版本。
- 关注API设计。Spring使API尽可能直观并在多个版本中保持。
- 代码质量高标准。Spring注重于有意义的、实时的、精准的Java文档。