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

发布于:2025-09-13 ⋅ 阅读:(24) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到