Spring Boot概述与核心特性
Spring Boot 简化了 Spring 应用的初始搭建和开发过程。
什么是Spring Boot
Spring Boot 是 Spring 官方推出的快速开发框架,旨在简化 Spring 应用开发。
解决的问题
| 问题 | Spring Boot方案 |
|---|---|
| 配置繁琐 | 自动配置 |
| 依赖管理困难 | 起步依赖 |
| 部署复杂 | 内嵌容器 |
| 缺乏监控 | Actuator |
核心特性
1. 自动配置
Spring Boot 根据依赖自动配置应用。
Java
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
引入 spring-boot-starter-web 后自动配置:
- DispatcherServlet
- Embedded Tomcat
- Jackson
- MessageConverters
2. 起步依赖
一键引入相关依赖组合。
XML
<!-- Web开发相关依赖集合 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
常用 Starter:
| Starter | 功能 |
|---|---|
| spring-boot-starter-web | Web开发 |
| spring-boot-starter-data-jpa | JPA数据库 |
| spring-boot-starter-data-redis | Redis |
| spring-boot-starter-security | 安全框架 |
| spring-boot-starter-actuator | 监控端点 |
3. 内嵌容器
无需部署到外部服务器。
Bash
java -jar my-app.jar
# 内嵌Tomcat自动启动
支持容器:Tomcat、Jetty、Undertow
4. 生产就绪
Actuator 提供监控和管理功能。
YAML
management:
endpoints:
web:
exposure:
include: health,info,metrics
端点功能:
| 端点 | 功能 |
|---|---|
| /health | 健康状态 |
| /info | 应用信息 |
| /metrics | 指标数据 |
| /env | 环境配置 |
Spring Boot vs Spring
| 对比项 | Spring | Spring Boot |
|---|---|---|
| 配置方式 | 手动配置 | 自动配置 |
| 依赖管理 | 手动指定版本 | Starter自动管理 |
| 启动方式 | 外部容器 | 内嵌容器 |
| 开发效率 | 较低 | 高 |
设计理念
约定优于配置
遵循默认约定,减少配置工作:
XML
默认端口: 8080
默认配置文件: application.yml
默认静态资源: static目录
开箱即用
引入依赖即可使用:
Java
<!-- 引入Redis Starter即自动配置Redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
版本演进
| 版本 | Java版本 | 特性 |
|---|---|---|
| 2.x | Java 8+ | 主流版本 |
| 3.x | Java 17+ | Jakarta EE、原生编译 |
适用场景
| 场景 | 适用性 |
|---|---|
| 微服务架构 | ★★★★★ |
| Web应用 | ★★★★★ |
| REST API | ★★★★★ |
| 传统企业应用 | ★★★★☆ |
快速体验
Bash
@RestController
@SpringBootApplication
public class MyApplication {
@GetMapping("/")
public String home() {
return "Hello, Spring Boot!";
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
text
# 访问
curl http://localhost:8080/
# 输出: Hello, Spring Boot!
要点总结
- 自动配置减少手动配置
- Starter简化依赖管理
- 内嵌容器独立运行
- Actuator提供生产监控
- 约定优于配置理念
📝 发现内容有误?点击此处直接编辑