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

相关推荐
猿究院_夏燊8 小时前
Spring Bean 生命周期
java·后端·spring
流烟默9 小时前
MCP第 5 篇:用 Spring AI 写 MCP:注解、自动配置、ChatClient 集成
人工智能·spring·mcp封装
我是人✓9 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
来福猿11 小时前
SpringCloud Config 源码分析:配置拉取、刷新与多环境管理
后端·spring·spring cloud
古法老登瞎折腾12 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
企业数字化笔记13 小时前
多租户配额怎么控制?用量口径、并发预留与超额处理的实现方法
java·数据库·spring boot
雷一言说15 小时前
Spring AI 2.0 RAG:用 Metadata Filter 做多租户检索隔离
java·spring
WeiXin_DZbishe15 小时前
基于springboot装修风格选择系统的设计与开发-计算机毕设【课程设计】77964
java·vue.js·spring boot·后端·python·php·课程设计
摇滚侠15 小时前
《大模型应用开发实践:基于 Spring AI+DeepSeek 实现》第 11 章 大模型技术概览 阅读笔记 1
人工智能·笔记·spring
十年Java程序媛16 小时前
Java 多线程基础与锁机制详解|进程线程、锁升级、synchronized 与 Lock 对比
java·开发语言·spring boot