Spring Boot进阶:原理、实战与面试题分析
上QQ阅读APP看书,第一时间看更新

1.1.2 Spring技术生态

我们通过Spring的官方网站来看一下Spring家族技术生态的全景图。在Spring的主页中,有七大核心技术体系。

  • 微服务架构:以Spring Boot、Spring Cloud为代表的一套完整构建微服务系统的技术体系。
  • 响应式编程:内置了Project Reactor响应式编程框架的面向Web开发、数据访问等常见功能的全栈响应式技术体系。
  • 云原生:以Spring Cloud为代表的一组满足云原生架构需求的分布式技术体系。
  • Web应用:以Spring WebMVC为代表的一批实现REST API的Web技术体系。
  • Serverless架构:以Spring Cloud Function为代表的FaaS(Function as a Service)技术体系。
  • 事件驱动:以Spring Cloud Stream为代表的面向事件和消息处理的技术体系。
  • 批处理:以Spring Batch为代表的轻量级离线批处理技术体系。

可以看到,上述技术体系有各自的侧重点,但也有一些交集。我们现在能看到的所有Spring家族技术体系都是从Spring基础框架逐步演进而来的。Spring技术体系发展到现在,Spring基础框架更多扮演着内核的角色,而不是直接面向应用开发。在日常开发过程中,如果构建单块Web服务,可以采用Spring Boot。而如果想要开发微服务架构,那么就需要使用Spring Cloud。事实上,想要使用Spring Cloud,必须首先掌握Spring Boot,因为Spring Boot是开发单个微服务的基础。它们与Spring基础框架之间的这种“内核→应用→扩展”的关系如图1-2所示。

016-1

图1-2 Spring技术生态与Spring基础框架之间的关系示意图

本书不对Spring中的所有技术体系全面地展开讲解,而是重点关注Spring Boot。Spring Boot是Spring中顶级的子项目,并且已经发展为Java EE领域开发Web应用程序的首选框架。