初始化springboot项目依赖选择

 

在初始化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项目​

<!-- pom.xml 示例 -->
<dependencies>
    <!-- 核心依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- 数据库 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    
    <!-- 开发工具 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

​(2) 微服务项目 (含注册中心)​

<dependencies>
    <!-- Web基础 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- 服务注册 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    
    <!-- 配置中心客户端 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
</dependencies>

​6. 选择工具建议​

  1. Spring Initializr​:官方初始化工具,勾选依赖自动生成项目,阿里地址:https://start.aliyun.com/
  2. ​IDE集成工具​​:
    • IntelliJ IDEA: New Project → Spring Initializr
    • VS Code: 安装Spring Boot Extension Pack插件
    • Eclipse: 通过Spring Starter Project向导创建

​关键原则​

  1. ​按需引入​​:避免添加无用依赖(减少包体积/安全风险)
  2. ​注意兼容性​​:Spring Boot版本需与依赖版本匹配(官方版本映射
  3. ​生产环境优化​​:
    • 移除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                     #实时消息

 

posted @ 2025-06-11 11:41  joshua317  阅读(591)  评论(0)    收藏  举报