Spring Initializr(或者 IDEA 里新建 Spring Boot 项目)时 Dependencies 的选择

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

相关推荐
程序猿乐锅3 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
m0_587383004 小时前
广州24小时自助健身房解决方案实战指南与系统部署要点
java·spring·小程序·架构·需求分析
需要8265 小时前
分布式事务:Seata AT/TCC/SAGA 的取舍与踩坑
java·spring boot·分布式·spring·spring cloud
m0_587383005 小时前
深圳24小时自助健身房解决方案实战:从系统架构到部署指南
java·人工智能·spring boot·spring·系统架构·需求分析
小马哥程序开发7 小时前
[点赞收藏免费领取 · 项目源码]57105基于Spring Boot的充电桩管理系统的设计与实现
java·spring boot·源码·课程设计·毕设·大作业·课设
后端LV9 小时前
一个注解不用写,给你的 Spring Boot 接口加上限流、日志、指标和钉钉告警
spring
卓怡学长9 小时前
w202springboot基于B_S架构的图书信息管理系统
java·spring boot·spring·intellij-idea
走到天涯海角10 小时前
用springBoot写几个简单的接口
java·spring boot·intellij-idea
景熙552310 小时前
JDBC 详解:从原理到实战(含完整可运行 Demo)
java·spring·tomcat·mybatis·jdbc
程序猿乐锅10 小时前
一文讲透缓存穿透、击穿和雪崩
java·redis·spring·缓存·mybatis