Skip to content

引入依赖

在使用 Spring Boot 时,确实可以通过两种主要的方式来管理依赖版本和设置项目结构:集成 spring-boot-starter-parent 或者导入 spring-boot-dependencies。这两种方式都能简化依赖管理和版本控制,但它们的使用场景略有不同。

1:集成 spring-boot-starter-parent

这是最常见和推荐的方式,适用于大多数项目。通过继承 spring-boot-starter-parent,你可以获得以下好处:

  • 自动版本管理:父 POM 提供了一组默认的依赖版本,这样你就不需要为每个依赖手动指定版本号。
  • 插件配置:提供了默认的 Maven 插件配置,如编译器插件、测试插件等。
  • 属性设置:包含了许多有用的默认属性,例如 Java 版本、编码格式等。

示例 POM 文件

xml
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.0.0</version> <!-- 使用最新稳定版 -->
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 其他依赖 -->
</dependencies>

2:导入 spring-boot-dependencies

这种方式适合那些不想或不能继承 spring-boot-starter-parent 的项目,比如已经有一个现有的父 POM 或者多模块项目中需要更灵活的依赖管理。你可以将 spring-boot-dependencies 作为一个 BOM(Bill of Materials)来导入,以确保所有 Spring Boot 相关依赖都使用兼容的版本。

示例 POM 文件

xml
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>3.0.0</version> <!-- 使用最新稳定版 -->
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 其他依赖 -->
</dependencies>

总结

  • 如果你的项目没有其他父 POM 或者不需要特别复杂的构建配置,那么继承 spring-boot-starter-parent 是最简单和直接的选择。
  • 如果你已经有了一个父 POM 或者是在一个多模块项目中工作,并且希望保持更大的灵活性,那么你应该选择导入 spring-boot-dependencies 作为 BOM 来管理依赖版本。

无论选择哪种方式,Spring Boot 都会帮助你简化项目的依赖管理,确保依赖项之间的兼容性,并提供合理的默认值来加速开发过程。