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

相关推荐
952365 小时前
MyBatis
后端·spring·mybatis
HackTorjan8 小时前
深度神经网络的反向传播与梯度优化原理
人工智能·spring boot·神经网络·机器学习·dnn
傻瓜搬砖人14 小时前
Spring集成Web环境
java·spring·maven
Java小生不才16 小时前
Spring AI文生音
java·人工智能·spring
二哈赛车手17 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
蜜獾云17 小时前
rocketmq traceId重复问题
spring·rocketmq·java-rocketmq
直奔標竿17 小时前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
薪火铺子19 小时前
Spring Security 6.x 实战指南
java·后端·spring
敖正炀19 小时前
WebFlux 深度:Reactor 线程模型、背压与错误处理
spring boot
BING_Algorithm19 小时前
一文搞定 AOP 所有核心知识点
spring boot·后端·spring