最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot Starter Parent使用及說明

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

引言

spring-boot-starter-parent 是一個特殊的項目,為基于 Spring Boot 的應用程序提供默認配置和默認依賴。

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

快速引入

如果你的工程是基于Maven構建的,可以在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構建,可以參考按以下方式在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項目

Spring Boot 旨在簡化構建 Spring 應用程序的過程,同時盡量減少配置工作量。為此,誕生了 spring-boot-starter-parent父項目,為基于 Spring Boot 的應用程序提供默認配置和依賴項管理。

使用 spring-boot-starter-parent 作為父項目,可以確保應用程序遵循 Spring Boot 推薦的最佳實踐,并且能夠輕松地利用 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>

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

添加它之后,我們的項目會從這個父項目中繼承默認的構建、依賴項和配置,因此我們不必手動指定它們。

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

Spring Boot Dependencies 項目介紹

“Spring Boot Starter Parent”項目進一步擴展了 spring-boot-dependencies 項目,spring-boot-dependencies 項目的作用包括:

  • 統(tǒng)一依賴版本管理:為 Spring Boot 應用程序中常用的依賴項提供統(tǒ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項目的最新版本,并檢查其 pom.xml 以獲取所有依賴項使用的最新版本。

項目依賴管理

引入默認版本的依賴

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

這些依賴項已經在 spring-boot-starter-parent 中指定了默認版本,因此無需在項目中再次指定版本號。

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

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

這種方式不僅簡化了依賴項的管理,還確保了項目使用的是經過測試和驗證的依賴項組合。

引入不同版本的依賴

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

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

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

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

這樣,在實際使用的依賴項中引用 spring-boot-starter-web 時,就可以使用這個指定的版本,而不是 spring-boot-starter-parent 中默認的版本。

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

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

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

總結

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

我們還學習了如何包含默認依賴項以及如何覆蓋這些依賴項的版本。

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

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

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Quarkus集成apollo配置中心

    Quarkus集成apollo配置中心

    這篇文章主要介紹了Quarkus集成apollo配置中心,文中詳細的講解了Quarkus的config構成,以及apollo集成實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • 關于Idea創(chuàng)建Java項目并引入lombok包的問題(lombok.jar包免費下載)

    關于Idea創(chuàng)建Java項目并引入lombok包的問題(lombok.jar包免費下載)

    很多朋友遇到當idea創(chuàng)建java項目時,命名安裝了lombok插件卻不能使用注解,原因有兩個大家可以參考下本文,本文對每種原因分析給出了解決方案,需要的朋友參考下吧
    2021-06-06
  • JDK14的新特性:instanceof模式匹配的使用

    JDK14的新特性:instanceof模式匹配的使用

    這篇文章主要介紹了JDK 14的新特性:instanceof模式匹配的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • 深入理解java中for和foreach循環(huán)

    深入理解java中for和foreach循環(huán)

    下面小編就為大家?guī)硪黄钊肜斫鈐ava中for和foreach循環(huán)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • java使用xpath解析xml示例分享

    java使用xpath解析xml示例分享

    XPath基于XML的樹狀結構,提供在數(shù)據(jù)結構樹中找尋節(jié)點的能力,下面是一小示例,需要的朋友可以參考下
    2014-03-03
  • Java亂碼問題解決方法_動力節(jié)點Java學院整理

    Java亂碼問題解決方法_動力節(jié)點Java學院整理

    開發(fā)java應用出現(xiàn)亂碼是很常見的,畢竟現(xiàn)在unicode的使用還不是很廣泛,下面給大家分享Java亂碼問題解決方法,感興趣的朋友一起看看吧
    2017-07-07
  • 舉例說明Java設計模式編程中ISP接口隔離原則的使用

    舉例說明Java設計模式編程中ISP接口隔離原則的使用

    這篇文章主要介紹了Java設計模式編程中ISP接口隔離原則的使用,接口隔離原則主張一個類對另外一個類的依賴性應當是建立在最小的接口上,需要的朋友可以參考下
    2016-02-02
  • java地理坐標系及投影間轉換代碼示例

    java地理坐標系及投影間轉換代碼示例

    在地圖投影中,經常需要將坐標從不同的坐標系之間進行轉換,下面這篇文章主要給大家介紹了關于java地理坐標系及投影間轉換的相關資料,需要的朋友可以參考下
    2024-08-08
  • springboot整合日志處理Logback的實現(xiàn)示例

    springboot整合日志處理Logback的實現(xiàn)示例

    Logback是由log4j創(chuàng)始人設計的又一個開源日志組件,本文主要介紹了springboot整合日志處理Logback,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • 詳解Java Cglib動態(tài)代理

    詳解Java Cglib動態(tài)代理

    這篇文章主要介紹了Java Cglib動態(tài)代理的相關資料,幫助大家更好的理解和學習Java代理,感興趣的朋友可以了解下
    2020-08-08

最新評論

平泉县| 德庆县| 金川县| 大关县| 望奎县| 井研县| 德惠市| 萍乡市| 阜平县| 湘乡市| 礼泉县| 六枝特区| 阿图什市| 浦东新区| 额济纳旗| 津市市| 洛南县| 紫云| 咸阳市| 内江市| 郸城县| 天峨县| 佛学| 襄汾县| 铜梁县| 剑阁县| 安阳市| 兰考县| 潮州市| 通化市| 新田县| 溆浦县| 赤峰市| 芷江| 昭觉县| 威海市| 油尖旺区| 洛宁县| 桃园县| 老河口市| 衡阳市|