Spring Boot 是基于 Spring 框架的开发框架,它通过”约定优于配置”的理念,简化了 Spring 应用的初始搭建和开发过程。Spring Boot 并不是对 Spring 功能的增强,而是提供了一种快速使用 Spring 的方式。
核心设计理念:
| 特性 | Spring Framework | Spring Boot |
|---|---|---|
| 配置 | 繁琐的 XML/Java 配置 | 自动配置,约定优于配置 |
| 部署 | 需要外置 Tomcat | 内嵌 Tomcat,直接运行 |
| 依赖 | 手动管理版本冲突 | Starter 依赖管理,自动版本管理 |
| 开发效率 | 较低,配置繁琐 | 极高,快速启动 |
| 监控 | 需要手动集成 | 内置 Actuator 监控端点 |
| 生产支持 | 需要额外配置 | 内置生产级特性 |
graph TB
A[Spring Boot] --> B[自动配置]
A --> C[Starter 依赖]
A --> D[内嵌服务器]
A --> E[生产级特性]
A --> F[无代码生成]
A --> G[XML 配置可选]
B --> B1[根据类路径自动配置]
C --> C1[简化依赖管理]
D --> D1[Tomcat/Jetty/Undertow]
E --> E1[监控/健康检查/Metrics]
特性详解:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="<http://maven.apache.org/POM/4.0.0>"
xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
xsi:schemaLocation="<http://maven.apache.org/POM/4.0.0>
<http://maven.apache.org/xsd/maven-4.0.0.xsd>">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version>
<relativePath/>
</parent>
<groupId>com.example</groupId>
<artifactId>spring-boot-demo</artifactId>
<version>1.0.0</version>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>