首頁 > 軟體

spring-boot-starter-parent的作用詳解

2022-08-30 14:03:50

我們SpringBoot專案pom檔案中都會引入spring-boot-starter-parent這樣一個依賴,如下:

<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi</artifactId>
    <version>2.2.0</version>
    <packaging>jar</packaging>

    <name>ruoyi</name>
    <url>http://www.ruoyi.vip</url>
    <description>若依管理系統</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath />
    </parent>
</project>

那spring-boot-starter-parent的作用是什麼呢?

其實從字面意思上看是spring-boot-starter的一個parent,那就是引入和定義starter相關的東西。

具體來看可以分為以下兩點:

一、統一定義設定:

spring-boot-starter-parent程式碼如下,定義編碼、java版本等:

 <properties>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <resource.delimiter>@</resource.delimiter>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>${java.version}</maven.compiler.target>
    </properties>

二、統一依賴及版本:

spring-boot-starter-parent程式碼如下:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath>../../spring-boot-dependencies</relativePath>
    </parent>

spring-boot-dependencies程式碼如下:

  <dependencyManagement>
        <dependencies>
           <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot</artifactId>
                <version>2.1.1.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
                <version>2.1.1.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-quartz</artifactId>
                <version>2.1.1.RELEASE</version>
            </dependency>
</dependencyManagement>

中定義了非常多指定版本的依賴,比如上述的redis、quartz等,這樣在具體開發的模組中只需按以下方式引入依賴即可,不必指定版本:

      <!-- redis 快取操作 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- 定時任務 -->
    <dependency>
           <groupId>org.quartz-scheduler</groupId>
           <artifactId>quartz</artifactId>
    </dependency>

為什麼不必指定版本,參考https://www.jb51.net/article/261103.htm

到此這篇關於spring-boot-starter-parent的作用詳解的文章就介紹到這了,更多相關spring-boot-starter-parent內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com