Spring Boot项目的常用依赖有哪些?

在Spring Boot项目开发中,依赖的选择取决于具体业务需求。以下是常用的依赖分类及说明,涵盖Web开发、数据访问、工具类等场景:

一、核心基础依赖

  1. Spring Web

    • 作用:提供Web开发支持,包含Spring MVC和内置Tomcat服务器,用于处理HTTP请求、路由映射等。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
  2. Spring Boot Starter

    • 作用:Spring Boot的核心启动器,提供自动配置、日志、YAML解析等基础功能,其他starter通常依赖它。
    • 说明 :一般无需单独引入,其他starter(如spring-boot-starter-web)会自动包含。

二、数据访问依赖

  1. MySQL Driver

    • 作用:MySQL数据库驱动,用于连接MySQL数据库。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>com.mysql</groupId>
          <artifactId>mysql-connector-j</artifactId>
          <scope>runtime</scope>  <!-- 运行时生效 -->
      </dependency>
  2. MyBatis Framework

    • 作用:轻量级ORM框架,简化数据库操作,支持XML或注解方式编写SQL。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.mybatis.spring.boot</groupId>
          <artifactId>mybatis-spring-boot-starter</artifactId>
          <version>3.0.3</version>  <!-- 版本需与Spring Boot兼容 -->
      </dependency>
  3. Spring Data JPA

    • 作用:基于JPA的持久层框架,通过注解自动生成SQL,简化CRUD操作,适合快速开发。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
      </dependency>
  4. Redis

    • 作用:操作Redis缓存数据库,用于提升读取性能(如会话存储、热点数据缓存)。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-redis</artifactId>
      </dependency>

三、工具类依赖

  1. Lombok

    • 作用 :通过注解(如@Data@Getter)自动生成实体类的getter/setter、构造函数等,减少模板代码。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <optional>true</optional>  <!-- 避免传递依赖 -->
      </dependency>
    • 注意:需在IDE中安装Lombok插件才能正常使用。

  2. Spring Boot DevTools

    • 作用:开发工具,支持热部署(修改代码后自动重启),提升开发效率。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-devtools</artifactId>
          <optional>true</optional>
      </dependency>

四、测试依赖

  1. Spring Boot Starter Test
    • 作用:整合JUnit、Mockito等测试框架,支持单元测试和集成测试。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-test</artifactId>
          <scope>test</scope>  <!-- 仅测试环境生效 -->
      </dependency>

五、安全依赖

  1. Spring Security
    • 作用:提供身份认证、授权、防CSRF等安全功能,保护接口访问。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-security</artifactId>
      </dependency>

六、其他常用依赖

  1. Thymeleaf

    • 作用:模板引擎,用于开发动态HTML页面(适合前后端不分离场景)。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-thymeleaf</artifactId>
      </dependency>
  2. Validation

    • 作用 :提供参数校验功能(如@NotNull@Size),简化输入验证逻辑。

    • Maven坐标

      xml 复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-validation</artifactId>
      </dependency>

依赖管理建议

  • 使用Spring Initializr创建项目时,可直接勾选所需依赖,工具会自动处理版本兼容性。
  • 避免引入不必要的依赖,减少项目体积和冲突风险。
  • 版本号通常由spring-boot-dependencies统一管理,无需手动指定(特殊情况除外)。

根据项目类型(如REST接口服务、后台管理系统、微服务等)选择合适的依赖组合,可显著提升开发效率。

相关推荐
期待のcode1 小时前
MyBatisX插件
java·数据库·后端·mybatis·springboot
醇氧3 小时前
【Windows】优雅启动:解析一个 Java 服务的后台启动脚本
java·开发语言·windows
sunxunyong4 小时前
doris运维命令
java·运维·数据库
菜鸟起航ing4 小时前
Spring AI 全方位指南:从基础入门到高级实战
java·人工智能·spring
古城小栈4 小时前
Docker 多阶段构建:Go_Java 镜像瘦身运动
java·docker·golang
华仔啊4 小时前
这 10 个 MySQL 高级用法,让你的代码又快又好看
后端·mysql
MapGIS技术支持4 小时前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
Coder_Boy_4 小时前
业务导向型技术日志首日记录(业务中使用的技术栈)
java·驱动开发·微服务
码事漫谈4 小时前
国产时序数据库崛起:金仓凭什么在复杂场景中碾压InfluxDB
后端
上进小菜猪5 小时前
当时序数据不再“只是时间”:金仓数据库如何在复杂场景中拉开与 InfluxDB 的差距
后端