1.1 Spring Boot 简介
1.1.1 什么是 Spring Boot
Spring Boot 是构建所有基于 Spring 的应用程序的起点。Spring Boot 旨在通过最少的 Spring 前期配置使您尽快启动并运行。
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包,Spring Boot 整合了所有的框架。它的核心设计思想是:约定优于配置,Spring Boot 所有开发细节都是依据此思想进行实现的。
Spring Boot 是一套全新的框架,它来自于 Spring 大家族,因此 Spring 所有具备的功能它都有并且更容易使用;同时还简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。
1.1.2 Spring Boot 的优势
Spring Boot作为一款基于Java的框架,其入门门槛相对较低,同时提供了诸多优势,使得开发者能够快速、高效地构建出独立、生产级别的Spring应用程序。以下是Spring Boot的主要优势:
- Spring Boot 使开发变得简单,提供了丰富的解决方案,快速集成各种解决方案提升开发效率。
- Spring Boot 使配置变得简单,提供了丰富的 Starters,集成主流开源产品往往只需要简单的配置即可。
- Spring Boot 使部署变得简单,其本身内嵌启动容器,仅仅需要一个命令即可启动项目,结合 Jenkins、Docker 自动化运维非常容易实现。
- Spring Boot 使监控变得简单,自带监控组件,使用 Actuator 轻松监控服务各项服务。
1.2 Spring Boot 的核心
1.2.1 约定优于配置
约定优于配置(Convention over Configuration),也称作按约定编程,是一种软件设计范式。它的核心思想是减少软件开发人员需要做出决策的数量,通过预设合理的默认值(或约定)来简化开发过程,同时又不失灵活性。
1.2.2 Starter 启动器
Starter是Spring Boot中一组预定义的依赖集合,旨在简化Spring应用的构建和配置过程。通过添加对应的Starter依赖,Spring Boot能够自动引入所需的库并尝试进行自动配置,从而减少了手动配置和依赖管理的工作量。简而言之,Starter是Spring Boot快速开发项目的加速器和标准化配置集。
1.2.3 自动配置工作原理
自动配置(Auto-Configuration)在Spring Boot中是一种基于约定优于配置(Convention over Configuration)原则的机制。它通过分析项目的类路径和已添加的依赖项来自动配置Spring应用上下文中的beans。这种机制大大简化了Spring应用的初始化和配置过程,使得开发者能够专注于业务逻辑的实现,而无需编写大量的配置代码。简而言之,自动配置使得Spring Boot应用能够“智能”地配置自身,减少了手动配置的需要。
1.2.4 Starter 的启动过程
-
依赖加载:Spring Boot通过Maven或Gradle等构建工具加载项目中声明的Starter依赖,包括所有必需的库和框架。
-
自动配置:Spring Boot根据Starter的依赖自动配置应用上下文,包括Bean的创建、注册以及相关的配置项,减少了手动配置的需要。
-
应用启动:在依赖加载和自动配置完成后,Spring Boot启动应用,对于Web应用来说,还会启动嵌入式的Web服务器,使应用能够处理HTTP请求。