我们知道,Spring所拥有的强大功能之一就是可以集成各种开源软件。但随着互联网的高速发展,各种框架层出不穷,这就对系统架构的灵活性、扩展性、可伸缩性、高可用性都提出了新的要求。随着项目的发展,Spring慢慢地集成了更多的开源软件,引入大量配置文件,这会导致程序出错率高、运行效率低下的问题。为了解决这些状况,Spring Boot应运而生。
Spring Boot本身并不提供Spring的核心功能,而是作为Spring的脚手架框架,以达到快速构建项目、预置三方配置、开箱即用的目的。
约定优于配置(Convention Over Configuration),又称为按约定编程,是一种软件设计范式,旨在减少软件开发人员需要做决定的数量,执行起来简单而又不失灵活。Spring Boot的核心设计完美遵从了此范式。
Spring Boot的功能从细节到整体都是基于“约定优于配置”开发的,从基础框架的搭建、配置文件、中间件的集成、内置容器以及其生态中各种Starters,无不遵从此设计范式。Starter作为Spring Boot的核心功能之一,基于自动配置代码提供了自动配置模块及依赖,让软件集成变得简单、易用。与此同时,Spring Boot也在鼓励各方软件组织创建自己的Starter。
说到Spring Boot的设计目标,值得一提的是Spring Boot的研发团队——Pivotal公司。Pivotal公司的企业目标是“致力于改变世界构造软件的方式(We are transforming how the world builds software)”。Pivotal公司向企业客户提供云原生应用开发PaaS平台及服务,采用敏捷软件开发方法论帮助企业客户开发软件,从而提高软件开发人员工作效率、减少软件运维成本,实现企业数字化转型、IT创新,帮助企业客户最终实现业务创新。
Spring Boot框架的设计理念完美遵从了它所属企业的目标。Spring Boot不是为已解决的问题提供新的解决方案,而是为平台和开发者带来一种全新的体验:整合成熟技术框架、屏蔽系统复杂性、简化已有技术的使用,从而降低软件的使用门槛,提升软件开发和运维的效率。