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 APISpring Data JPA
(或 JDBC / MyBatis)→ 数据库操作MySQL Driver
→ 数据库驱动Spring Security
(可选,看要不要登录鉴权)Spring Boot Actuator
(可选,用于监控)Spring Boot DevTools
(推荐,开发时热部署)