spring-boot-starter-parent的作用

编程知识 更新时间:2023-04-05 04:52:24

我们SpringBoot项目pom文件中都会引入spring-boot-starter-parent这样一个依赖,如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache/POM/4.0.0" xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache/POM/4.0.0 http://maven.apache/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>
        <mavenpiler.source>${java.version}</mavenpiler.source>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <mavenpiler.target>${java.version}</mavenpiler.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>

<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://wwwblogs/silenceshining/p/14295807.html。

更多推荐

spring-boot-starter-parent的作用

本文发布于:2023-04-05 04:52:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/e7ca47a2177985a1d5c0235d19622739.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:作用   boot   spring   parent   starter

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 44871文章数
  • 14阅读数
  • 0评论数