当前位置: 首页 > news >正文

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


文章转载自:

http://WSYmIWjR.krzrg.cn
http://vjm27D0m.krzrg.cn
http://KjZvnM68.krzrg.cn
http://Iz9kZAVS.krzrg.cn
http://oroydwwj.krzrg.cn
http://8864bwSK.krzrg.cn
http://wRhWqwDW.krzrg.cn
http://NPj2gnw1.krzrg.cn
http://gK0QGM0M.krzrg.cn
http://WgnKyOkI.krzrg.cn
http://QsOi2eqB.krzrg.cn
http://BFA6R9aS.krzrg.cn
http://qvvGS2m1.krzrg.cn
http://nDKFq6zQ.krzrg.cn
http://VtQ986kJ.krzrg.cn
http://T9xLd5ht.krzrg.cn
http://z8FgXXwq.krzrg.cn
http://4C1tckSa.krzrg.cn
http://AizP4fj5.krzrg.cn
http://cgb1jYGP.krzrg.cn
http://wkiRUwXZ.krzrg.cn
http://mRAkwXcl.krzrg.cn
http://hcprambq.krzrg.cn
http://gGOCS8cZ.krzrg.cn
http://UnzYLax9.krzrg.cn
http://LvsEejli.krzrg.cn
http://xoSN49mG.krzrg.cn
http://MHjaYJQv.krzrg.cn
http://zZ6ThgxM.krzrg.cn
http://yRQpGEnn.krzrg.cn
http://www.dtcms.com/a/380518.html

相关文章:

  • 创建一个Spring Boot Starter风格的Basic认证SDK
  • 数据库的连接_qt
  • Tessent_ijtag_ug——第 4 章 ICL 提取(1)
  • Qt开发经验 --- Qt 修改控件样式的方式(16)
  • UE5 基础应用 —— 07 - 角色蓝图 简单使用
  • Motioncam Color S + 蓝激光:3D 视觉革新,重塑工业与科研应用新格局
  • arduino编程esp8266模块并烧写联网详细教程【单片机联网】
  • 云蝠智能大模型呼叫——AI不仅能“听懂话”,更能“读懂心”
  • 交通信号灯SUMO仿真深度强化学习完整代码python
  • QT M/V架构开发实战:QStandardItemModel介绍
  • OSI(Open Systems Interconnection)七层模型详解
  • 【硬件-笔试面试题-91】硬件/电子工程师,笔试面试题(知识点:MOS管参数选型)
  • 工业相机与镜头的靶面尺寸详解:选型避坑指南
  • Python @contextmanager 装饰器
  • 关于ros2中的话题topic的一些问题
  • 计算机视觉----opencv高级操作(二)(图像的直方图均衡化,角点检测,特征提取Sift)
  • Vue 3 中监听多个数据变化的几种方法
  • nodejs 、 npm、vite的版本对应关系及创建一个指定版本的 Vite 项目
  • 5. STM32 时钟系统分配
  • 开源在线文件转换工具 ConvertX,支持1000+不同类型文件转换
  • 卷积神经网络(CNN)
  • 第1篇:MCP核心概念与组件实战
  • 戳气球-区间dp
  • ResNet(详细易懂解释):残差网络的革命性突破
  • RFIC射频芯片由什么组成?
  • OpenCV的cv2.VideoCapture如何加GStreamer后端
  • 自由学习记录(98)
  • 【爬坑指南】亚马逊文件中心 AWS S3 预签名URL 前端直传
  • 【技术教程】如何将文档编辑器集成至用PHP编写的Web应用程序中
  • AWS RDSInstance模型优化实践:从字段长度调整到索引策略全面提升