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(推荐,开发时热部署)