深入浅出Spring Boot 3.x
上QQ阅读APP看书,第一时间看更新

前言

本书的缘起

当前互联网后端开发中,Java技术占据了主导地位。对于Java开发,首选框架和事实标准是Spring框架。传统的Spring开发需要使用大量的XML配置才能使Spring框架运行起来,这备受许多开发者诟病。随着Spring 4.x的发布,Spring已经完全脱离XML,只使用注解就可以运行项目。在最近几年里,互联网世界掀起了微服务热潮。微服务会将一个大的单体系统按照业务拆分为独立的系统,然后通过REST风格的请求将它们集成起来,进一步简化了分布式系统的开发。为了进一步简化Spring的开发,Spring Boot于2014年诞生了,这是一个由Pivotal团队提供的全新框架,其设计目的是简化Spring应用的搭建以及开发过程,并迎合时下流行的微服务思维,越来越多的企业选择了Spring Boot。随着2017年9月Spring 5.x的推出,2018年Spring Boot也推出了2.x版本,至此Spring Boot成为Java开发的首选。为了顺应潮流,2018年我创作了《深入浅出Spring Boot 2.x》(下文简称为2.x版),此书一经推出,就成为该领域的主流图书。不过,随着Spring Boot的不断升级,2.x版的许多知识点已经过时,所以是时候对其进行升级改版了,这就是本书的缘起。

2017年甲骨文公司正式放弃Java EE,并将其交由Eclipse基金会托管。因为版权问题,Java EE这个名称不能被沿用,于是2018年Eclipse基金会将Java EE正式改名为Jakarta EE。Jakarta EE逐渐发展为主流技术,为此Spring推出了第6版,对Jakarta EE 9进行支持,而Pivotal团队在2022年11月推出了Spring Boot 3.x正式版。于是,我决定在2.x版的基础上进行升级,讲解Spring Boot 3.x。

Spring Boot采用“约定优于配置”的规则,大部分情况下依赖它提供的starter,就可以使用默认的约定,然后通过属性文件能减少大量的代码,使开发更为简单;对于打包,Spring Boot提供了内嵌服务器和Maven(或Gradle),进一步降低了企业部署的难度;对于测试,Spring Boot提供了快速测试的环境,进一步提高了测试效率;Spring Boot还提供了监控功能,使得开发者能及时把握项目运行的健康情况。在互联网世界中,分布式已经是一种必然的趋势,而在分布式架构中,微服务架构已成为当前的主流,因此Spring Boot渐渐成为企业级开发的主流选择。但是,微服务架构所需的服务治理和相关组件的研发成本并非一般公司所能承担的,因此Spring社区还将许多微服务组件通过Spring Boot的形式封装起来,发布给大家使用,这进一步简化了企业级微服务的开发。这样,Spring Boot和Spring Cloud都站到了互联网后端开发的主流方向上。对于我国主要的微服务架构选型——Spring Cloud Alibaba,本书也会进行探讨。