知識庫 / Spring / Spring Boot RSS 訂閱

Spring Boot Starter Parent

Spring Boot
HongKong
7
01:21 PM · Dec 06 ,2025

1. 簡介

在本教程中,我們將學習 spring-boot-starter-parent。我們將討論如何利用它進行更好的依賴管理、默認配置插件,以及快速構建我們的 Spring Boot 應用程序。

我們還將看到如何覆蓋 starter-parent 提供的現有依賴項和屬性的版本。

2. Spring Boot Starter Parent

`spring-boot-starter-parent 項目是一個特殊的 Starter 項目,它為我們的應用程序提供默認配置,並提供完整的依賴樹,以便快速構建我們的 Spring Boot 項目。它還提供默認配置,例如 maven-failsafe-pluginmaven-jar-pluginmaven-surefire-pluginmaven-war-plugin

除此之外,它還繼承了 spring-boot-dependencies 的依賴管理功能,後者是 spring-boot-starter-parent 的父項目。

我們可以通過在項目的 pom.xml 中將其添加為父項目來開始使用它:`

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.1.5</version>
</parent>

我們可以在 Maven Central 找到最新版本的 spring-boot-starter-parent

3. 管理依賴

在我們的項目中聲明瞭啓動父模塊後,我們可以通過在 dependencies 標籤中聲明它來從父模塊中拉取任何依賴。我們也不需要為依賴定義版本號;Maven 將根據父模塊的父標籤中定義的版本號下載 jar 文件。

例如,如果我們正在構建一個 Web 項目,可以直接添加 spring-boot-starter-web,並且不需要指定版本號:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

4. 依賴管理標籤

為了管理啓動父項目提供的不同版本的依賴項,我們可以明確地在 <em >dependencyManagement</em> 部分聲明依賴項及其版本:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>3.1.5</version>
        </dependency>
    </dependencies>
</dependencyManagement>

5. 屬性

要更改任何在啓動父項目中定義的屬性的值,我們可以將其重新聲明在我們的屬性部分。

通過其父模塊 spring-boot-dependenciesspring-boot-starter-parent 使用屬性來配置所有依賴項的版本、Java 版本和 Maven 插件版本。因此,只需更改相應的屬性,我們就可以輕鬆控制這些配置。

如果我們想更改從啓動父項目中拉取任何依賴項的版本,我們可以將其添加到依賴標籤中,並直接配置其屬性:

<properties>
    <junit.version>4.11</junit.version>
</properties>

6. 其他屬性覆蓋

我們還可以使用屬性來管理其他配置,例如管理插件版本,甚至管理基礎配置,如管理 Java 版本和源編碼。我們需要通過重新聲明屬性並指定新的值來實現。

例如,要更改 Java 版本,我們可以通過在 java.version 屬性中指定來實現。

<properties>
    <java.version>17</java.version>
</properties>

7. 不使用 Spring Boot Starter 作為父模塊的項目

有時我們擁有自定義的 Maven 父模塊,或者我們更喜歡手動聲明所有 Maven 配置。

在這種情況下,我們可以選擇不使用 <em>spring-boot-starter-parent</em> 項目。但是,我們仍然可以從其依賴樹中受益,通過在項目中以 <em>import</em> 範圍添加依賴,<em>spring-boot-dependencies</em>

讓我們用一個簡單的例子來演示,使用除了 starter 父模塊之外的其他父模塊:

<parent>
    <groupId>com.baeldung</groupId>
    <artifactId>spring-boot-parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</parent>

在這裏,我們使用了 父模塊、不同的項目作為父依賴。

現在,在這種情況下,我們仍然可以通過將其添加到 導入 範圍和 pom 類型中,獲得依賴管理相同的優勢。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>3.1.5</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

此外,我們只需在 dependencies 中聲明任何依賴項,就像我們在之前的示例中做的那樣。這些依賴項不需要指定版本號。

8. 結論

在本文中,我們對 spring-boot-starter-parent 進行了概述,並介紹了將其作為子項目父項目的好處。

接下來,我們學習瞭如何管理依賴項。您可以在 dependencyManagement 中覆蓋依賴項,或通過屬性進行覆蓋。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.