亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot Starter Parent使用及說明

 更新時(shí)間:2025年09月23日 10:02:33   作者:上了年紀(jì)的牛馬  
Spring Boot starter-parent提供默認(rèn)配置和依賴管理,統(tǒng)一版本控制,減少沖突,簡化聲明,可通過dependencyManagement或?qū)傩愿采w版本,提升開發(fā)效率與項(xiàng)目穩(wěn)定性

引言

spring-boot-starter-parent 是一個(gè)特殊的項(xiàng)目,為基于 Spring Boot 的應(yīng)用程序提供默認(rèn)配置和默認(rèn)依賴。

在本 Spring Boot 教程中,我們將深入了解所有 Spring Boot 項(xiàng)目內(nèi)部使用的 spring-boot-starter-parent 依賴項(xiàng)。我們將探討此依賴項(xiàng)所提供的所有配置選項(xiàng),以及如何根據(jù)需要覆蓋這些默認(rèn)配置。

快速引入

如果你的工程是基于Maven構(gòu)建的,可以在pom.xml中按以下方式引入:

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>3.1.2</version>
	<relativePath/> <!-- lookup parent from repository -->
</parent>

類似的,如果是基于Gradle構(gòu)建,可以參考按以下方式在build.gradle中引入:

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.1.2'
	id 'io.spring.dependency-management' version '1.1.2'
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

什么是Spring Boot Starter Parent項(xiàng)目

Spring Boot 旨在簡化構(gòu)建 Spring 應(yīng)用程序的過程,同時(shí)盡量減少配置工作量。為此,誕生了 spring-boot-starter-parent父項(xiàng)目,為基于 Spring Boot 的應(yīng)用程序提供默認(rèn)配置和依賴項(xiàng)管理。

使用 spring-boot-starter-parent 作為父項(xiàng)目,可以確保應(yīng)用程序遵循 Spring Boot 推薦的最佳實(shí)踐,并且能夠輕松地利用 Spring Boot 提供的各種特性。

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.howtodoinjava</groupId>
  <artifactId>spring-webmvc</artifactId>
  <packaging>jar</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>spring-webmvc Maven Webapp</name>
  <url>https://howtodoinjava.com</url>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.1.2</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>17</java.version>
  </properties>

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

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

</project>

當(dāng)我們創(chuàng)建一個(gè) Spring Boot 項(xiàng)目時(shí),我們使用 spring-boot-starter-parent 作為我們項(xiàng)目的 pom.xml 或 build.gradle 的父級。

添加它之后,我們的項(xiàng)目會從這個(gè)父項(xiàng)目中繼承默認(rèn)的構(gòu)建、依賴項(xiàng)和配置,因此我們不必手動(dòng)指定它們。

通過使用 spring-boot-starter-parent,我們可以快速啟動(dòng) Spring Boot 應(yīng)用程序開發(fā)并減少設(shè)置常見配置和依賴項(xiàng)所需的工作量。

Spring Boot Dependencies 項(xiàng)目介紹

“Spring Boot Starter Parent”項(xiàng)目進(jìn)一步擴(kuò)展了 spring-boot-dependencies 項(xiàng)目,spring-boot-dependencies 項(xiàng)目的作用包括:

  • 統(tǒng)一依賴版本管理:為 Spring Boot 應(yīng)用程序中常用的依賴項(xiàng)提供統(tǒng)一的版本管理,確保所有依賴項(xiàng)的版本都是兼容且經(jīng)過測試的。
  • 減少版本沖突:通過集中管理所有依賴項(xiàng)的版本,避免了因版本不一致導(dǎo)致的問題。
  • 簡化依賴聲明:在項(xiàng)目中引用依賴項(xiàng)時(shí),無需指定版本號,因?yàn)檫@些信息已經(jīng)由 spring-boot-dependencies 統(tǒng)一管理。
<properties>
	<activemq.version>5.18.2</activemq.version>
	<angus-mail.version>1.1.0</angus-mail.version>
	<artemis.version>2.28.0</artemis.version>
	<aspectj.version>1.9.19</aspectj.version>
	<assertj.version>3.24.2</assertj.version>
	<awaitility.version>4.2.0</awaitility.version>
	...
	...
</properties>

我們可以參考 spring-boot-dependencies項(xiàng)目的最新版本,并檢查其 pom.xml 以獲取所有依賴項(xiàng)使用的最新版本。

項(xiàng)目依賴管理

引入默認(rèn)版本的依賴

一旦我們在項(xiàng)目中聲明了 spring-boot-starter-parent,我們就可以引入其中的任何依賴項(xiàng),只需在 dependencies 標(biāo)簽中聲明它們即可。

這些依賴項(xiàng)已經(jīng)在 spring-boot-starter-parent 中指定了默認(rèn)版本,因此無需在項(xiàng)目中再次指定版本號。

<dependencies>
    <!-- 引入 Spring Web Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- 其他依賴項(xiàng) -->
</dependencies>

由于 spring-boot-starter-parent 已經(jīng)管理了所有依賴項(xiàng)的版本,因此上述代碼片段中不需要指定版本號。這樣可以簡化依賴管理,并確保所有依賴項(xiàng)版本的一致性。

這種方式不僅簡化了依賴項(xiàng)的管理,還確保了項(xiàng)目使用的是經(jīng)過測試和驗(yàn)證的依賴項(xiàng)組合。

引入不同版本的依賴

要包含具有不同版本的依賴項(xiàng),我們可以在 dependencyManagement 部分中指定依賴項(xiàng)及其版本。

這樣做可以覆蓋 spring-boot-starter-parent 中默認(rèn)提供的版本,同時(shí)仍然享受統(tǒng)一版本管理帶來的便利。

<dependencyManagement>
    <dependencies>
            <!-- 覆蓋特定依賴項(xiàng)的版本 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.7.4</version> <!-- 特定版本 -->
            </dependency>
    </dependencies>
</dependencyManagement>

在這個(gè)例子中,spring-boot-starter-web 的版本在 dependencyManagement 部分中被指定為 2.7.4。

這樣,在實(shí)際使用的依賴項(xiàng)中引用 spring-boot-starter-web 時(shí),就可以使用這個(gè)指定的版本,而不是 spring-boot-starter-parent 中默認(rèn)的版本。

通過這種方式,你可以靈活地覆蓋或指定特定依賴項(xiàng)的版本,同時(shí)仍然保持項(xiàng)目依賴項(xiàng)的整體一致性。

或者,我們可以在屬性部分覆蓋所包含庫的版本號。

<properties>
	<junit.version>4.13.2</junit.version>
	<junit-jupiter.version>5.9.3</junit-jupiter.version>
</properties>

總結(jié)

本 Spring Boot 教程討論了特殊項(xiàng)目 spring-boot-starter-parent 和 spring-boot-dependencies,它們之間的繼承關(guān)系,以及它們在我們創(chuàng)建的任何 Spring Boot 項(xiàng)目中所帶來的好處。

我們還學(xué)習(xí)了如何包含默認(rèn)依賴項(xiàng)以及如何覆蓋這些依賴項(xiàng)的版本。

通過使用 spring-boot-starter-parent 和 spring-boot-dependencies,我們可以:

  • 簡化依賴管理:避免在項(xiàng)目中顯式指定每個(gè)依賴項(xiàng)的版本號,從而減少版本沖突的風(fēng)險(xiǎn)。
  • 統(tǒng)一版本控制:確保所有依賴項(xiàng)的版本都是統(tǒng)一管理的,這有助于維護(hù)項(xiàng)目的穩(wěn)定性和兼容性。
  • 提高開發(fā)效率:通過預(yù)配置的默認(rèn)設(shè)置和插件配置,可以更快地搭建項(xiàng)目基礎(chǔ)結(jié)構(gòu)。
  • 靈活覆蓋版本:在需要時(shí),可以在 dependencyManagement 部分中覆蓋特定依賴項(xiàng)的版本,以適應(yīng)特定項(xiàng)目需求。

總之,這些工具和最佳實(shí)踐幫助開發(fā)者更容易地構(gòu)建健壯且易于維護(hù)的 Spring Boot 應(yīng)用程序。希望本教程對您的學(xué)習(xí)之旅有所幫助!

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java垃圾回收算法及GC觸發(fā)條件解讀

    Java垃圾回收算法及GC觸發(fā)條件解讀

    Java垃圾回收機(jī)制自動(dòng)管理內(nèi)存,減輕開發(fā)負(fù)擔(dān)但存在性能開銷與延遲問題,主流算法包括標(biāo)記清除、復(fù)制、分代回收等,通過分代策略提升效率,觸發(fā)條件涉及新生代與老年代,優(yōu)化需調(diào)參、對象復(fù)用及減少臨時(shí)對象,未來趨勢為低延遲、大內(nèi)存支持及智能化GC技術(shù)
    2025-07-07
  • 淺談java 中equals和==的區(qū)別

    淺談java 中equals和==的區(qū)別

    這篇文章主要介紹了java 中equals和==的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java實(shí)戰(zhàn)之基于TCP實(shí)現(xiàn)簡單聊天程序

    Java實(shí)戰(zhàn)之基于TCP實(shí)現(xiàn)簡單聊天程序

    這篇文章主要為大家詳細(xì)介紹了如何在Java中基于TCP實(shí)現(xiàn)簡單聊天程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 解決springcloud啟動(dòng)時(shí)報(bào)錯(cuò)Connection refused:connect問題

    解決springcloud啟動(dòng)時(shí)報(bào)錯(cuò)Connection refused:connect問題

    這篇文章主要介紹了解決springcloud啟動(dòng)時(shí)報(bào)錯(cuò)Connection refused:connect問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • spring boot優(yōu)雅集成redisson詳解

    spring boot優(yōu)雅集成redisson詳解

    這篇文章主要為大家介紹了spring boot優(yōu)雅集成redisson詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Java線程池7個(gè)參數(shù)的含義

    Java線程池7個(gè)參數(shù)的含義

    這篇文章主要介紹了Java線程池7個(gè)參數(shù)的含義,所謂的線程池的?7?大參數(shù)是指,在使用?ThreadPoolExecutor?創(chuàng)建線程池時(shí)所設(shè)置的?7?個(gè)參數(shù),下文更多詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-05-05
  • Java實(shí)現(xiàn)赫夫曼樹(哈夫曼樹)的創(chuàng)建

    Java實(shí)現(xiàn)赫夫曼樹(哈夫曼樹)的創(chuàng)建

    給定N個(gè)權(quán)值作為N個(gè)葉子結(jié)點(diǎn),構(gòu)造一棵二叉樹,若該樹的帶權(quán)路徑長度(WPL)達(dá)到最小,稱這樣的二叉樹為最優(yōu)二叉樹,也稱為哈夫曼樹(Huffman Tree)。這篇文章主要就是為大家介紹如何通過Java實(shí)現(xiàn)赫夫曼樹,需要的朋友可以參考一下
    2021-12-12
  • 如何使用Java語言編寫打地鼠游戲全過程

    如何使用Java語言編寫打地鼠游戲全過程

    打地鼠是我們非常熟悉的一款小游戲,它的游戲結(jié)構(gòu)和規(guī)則也都比較簡單,那么如果能夠親自徒手開發(fā)這樣的一款經(jīng)典小游戲呢?這篇文章主要給大家介紹了關(guān)于如何使用Java語言編寫打地鼠游戲的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • 2021年最新Redis面試題匯總(3)

    2021年最新Redis面試題匯總(3)

    在程序員面試過程中redis相關(guān)的知識是常被問到的話題。這篇文章主要介紹了幾道Redis面試題,整理一下分享給大家,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 徹底解決IDEA中SpringBoot熱部署無效的問題(推薦)

    徹底解決IDEA中SpringBoot熱部署無效的問題(推薦)

    這篇文章主要介紹了徹底解決IDEA中SpringBoot熱部署無效的問題,本文給大家?guī)韱栴}原因分析通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-09-09

最新評論