idea提供了很多依赖选项,不同的选项会帮你自动加上对应的 Starter(起步依赖)。
下面我给你梳理常见选项及对应功能(基于 Spring Boot 3.x / Spring Initializr):
🌐 Web
-
Spring Web
-
启动器:
spring-boot-starter-web
-
包含 Spring MVC + 内置 Tomcat(默认容器)
-
用于构建 RESTful API、传统 MVC 项目
-
常用注解:
@RestController
、@RequestMapping
、@PostMapping
-
-
Spring WebFlux
-
启动器:
spring-boot-starter-webflux
-
响应式编程(基于 Reactor),适合高并发 / 异步场景
-
容器:Netty(默认)、Tomcat/Jetty/Undertow
-
如果不是专门做响应式,通常选
Spring Web
-
🗄️ 数据存储
-
Spring Data JPA
-
启动器:
spring-boot-starter-data-jpa
-
依赖 Hibernate ORM
-
可以用 Repository 接口 + 方法名自动生成 SQL
-
适合操作 MySQL、PostgreSQL、Oracle 等关系型数据库
-
-
Spring Data JDBC
-
更轻量级,不依赖 Hibernate,只做简单的 SQL 映射
-
适合不需要复杂 ORM 的项目
-
-
JDBC API
-
提供 JDBC 连接池(默认 HikariCP)
-
需要自己写 SQL(通常配合 MyBatis)
-
-
Spring Data MongoDB
-
启动器:
spring-boot-starter-data-mongodb
-
用于 MongoDB 非关系型数据库
-
-
Spring Data Redis (Reactive)
-
启动器:
spring-boot-starter-data-redis
-
用来操作 Redis,支持缓存、消息队列
-
-
Spring Data Elasticsearch
- 用来操作 Elasticsearch 搜索引擎
🔐 安全 & 认证
-
Spring Security
-
启动器:
spring-boot-starter-security
-
提供认证、授权、安全过滤
-
默认所有接口需要认证,常用于用户登录鉴权
-
-
OAuth2 Resource Server / OAuth2 Client
- 适合需要接入 OAuth2 / JWT 认证的系统
📊 工具 & 监控
-
Spring Boot Actuator
-
启动器:
spring-boot-starter-actuator
-
提供应用运行状态监控端点,如
/actuator/health
、/actuator/metrics
-
常用于微服务监控
-
-
Spring Boot DevTools
-
热部署工具,修改代码后自动重启应用
-
开发阶段必备
-
📄 模板引擎
-
Thymeleaf
-
启动器:
spring-boot-starter-thymeleaf
-
服务端渲染模板引擎(HTML)
-
-
Freemarker
- 另一种模板引擎
(如果你只做后端 + 前端分离的 REST API,就不需要这些模板引擎)
☁️ 云 & 分布式
-
Spring Cloud(一大堆)
- 服务发现、配置中心、网关、负载均衡等
-
Spring for RabbitMQ / Kafka
- 消息队列中间件
🧪 测试
-
Spring Boot Test(默认自带,不用手动选)
-
启动器:
spring-boot-starter-test
-
集成 JUnit5、Mockito、Spring Test
-
🎯 总结(常见组合)
新建一个后端项目时,最常用的依赖组合是:
-
Spring Web
→ Web API -
Spring Data JPA
(或 JDBC / MyBatis)→ 数据库操作 -
MySQL Driver
→ 数据库驱动 -
Spring Security
(可选,看要不要登录鉴权) -
Spring Boot Actuator
(可选,用于监控) -
Spring Boot DevTools
(推荐,开发时热部署)