在初始化Spring Boot项目时,选择依赖是关键步骤,需根据项目需求决定。以下是分场景的依赖选择指南:
1. 基础能力依赖
依赖名称作用适用场景
Spring Web
支持RESTful API开发(含Tomcat)
所有需要HTTP接口/前端交互的项目
Spring Data JPA
数据库ORM(搭配数据库驱动)
需操作SQL数据库(MySQL/PostgreSQL等)
Spring Data MongoDB
MongoDB支持
使用NoSQL数据库MongoDB
Spring Security
认证授权、安全控制
需登录/权限管理的系统
Spring Boot Actuator
应用监控端点(/health, /metrics等)
生产环境监控需求
2. 开发提效工具
依赖名称作用
Lombok
自动生成Getter/Setter/构造器等,减少样板代码
Spring Boot DevTools
热部署、自动重启(开发环境专用)
Validation
参数校验(@Valid, @NotNull等注解)
3. 特定功能场景
(1) 消息队列
RabbitMQ: Spring AMQP / RabbitMQ
Kafka: Spring for Apache Kafka
(2) 缓存
Redis: Spring Data Redis
内存缓存: Spring Cache + Caffeine
(3) 微服务
组件依赖
服务注册发现
Eureka Client / Consul
配置中心
Spring Cloud Config
熔断降级
Resilience4j / Sentinel
网关
Spring Cloud Gateway
(4) 批处理
定时任务: Spring Scheduler
批处理作业: Spring Batch
4. 数据库驱动 (搭配Spring Data JPA使用)
数据库依赖
MySQL
mysql-connector-java
PostgreSQL
postgresql
Oracle
com.oracle.database.jdbc:ojdbc11
5. 初始化模板推荐
(1) 基础Web项目
(2) 微服务项目 (含注册中心)
6. 选择工具建议
Spring Initializr:官方初始化工具,勾选依赖自动生成项目,阿里地址:https://start.aliyun.com/
IDE集成工具:
IntelliJ IDEA: New Project → Spring Initializr
VS Code: 安装Spring Boot Extension Pack插件
Eclipse: 通过Spring Starter Project向导创建
关键原则
按需引入:避免添加无用依赖(减少包体积/安全风险)
注意兼容性:Spring Boot版本需与依赖版本匹配(官方版本映射)
生产环境优化:
移除DevTools
用spring-boot-starter-jetty替换Tomcat(如需)
添加Spring Boot Actuator + Micrometer监控
提示:不确定需求时,可先创建基础项目,后期在pom.xml/build.gradle中追加依赖。
组合:
Spring Web # 提供 REST 接口能力
MyBatis Framework # 数据访问层(你也可以用 JPA)
Lombok # 简化实体类
Spring Boot DevTools # 热部署
MySQL Driver # 数据库连接驱动
Spring Configuration Processor # yml提示增强
Validation # 参数校验注解支持
Spring Security # 后期需要鉴权就勾上
Spring Data Redis # 做缓存、告警频控等必备
WebSocket #实时消息