需要知道spring-boot-starter-parent和spring-boot-parent

时间:2019-07-09 15:03:53

标签: spring-boot

有人可以解释一下spring-boot-parent和spring-boot-starter-parent之间的区别吗,正如我在下面所附的GIT HUB代码链接之一中看到的那样,他们为Spring-boot-parent编写了单独的模块入门级父级和spring-boot-parent。

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/

如果有人知道这两个依赖项之间的区别,请告诉我,同样,在大多数项目中,我们通常使用spring-boot-starter-parent作为父项,但在它们共享相同的情况下,不使用spring-boot-parent父spring-boot依赖关系。

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/

4 个答案:

答案 0 :(得分:0)

Spring Boot Starter Parent 帮助我们管理依赖项版本,项目使用的Java版本以及插件的默认配置,因为我们不必手动指定很多内容。

它可以帮助我们实现以下目标:

  • 配置
  • 依赖管理
  • 默认插件配置(maven-failsafe-pluginmaven-jar-pluginmaven-surefire-plugin等的默认配置)

根据spring-boot doc

  

启动器是一组方便的依赖项描述符,您可以   包括在您的应用程序中。您将获得一站式的所有服务   无需狩猎即可获得的春季及相关技术   通过示例代码和依赖描述符的复制粘贴加载

spring-boot-starter 是Core的启动器,提供包括自动配置支持,日志记录和YAML在内的功能。它将spring-boot-dependencies定义为父pom。

在您提供的github url中,他们保留了一个单独的模块以在pom中指定父spring-boot-dependencies。这可能是因为他们需要单独使用spring-boot-dependencies依赖树,而没有自动配置和插件配置,并将其发布为某些用例的单独jar。

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${revision}</version>
        <relativePath>../spring-boot-dependencies</relativePath>
     </parent>

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent/2.1.6.RELEASE

答案 1 :(得分:0)

https://www.baeldung.com/spring-boot-starter-parent

所述

Spring-boot-starter-parent

<块引用>

spring-boot-starter-parent 项目是一个特殊的启动项目—— 为我们的应用程序提供默认配置和一个 完整的依赖树来快速构建我们的 Spring Boot 项目。

它还提供了 Maven 插件的默认配置,例如 maven-failsafe-plugin, maven-jar-plugin, maven-surefire-plugin, maven-war-plugin。

除此之外,它还继承了依赖管理 spring-boot-dependencies 是 spring-boot-starter-parent。

spring-boot-parent

<块引用>

有时我们有一个自定义的 Maven 父级。或者,我们可能更愿意声明 手动完成我们所有的 Maven 配置。

在这种情况下,我们可以选择不使用 spring-boot-starter-parent 项目。但是,我们仍然可以通过添加从它的依赖树中受益 我们项目中导入范围内的依赖 spring-boot-dependencies。

答案 2 :(得分:0)

我相信你的意思是 spring-boot-starter-parentspring-boot-starter 之间的区别。

  • spring-boot-starter-parent - 将 spring-boot-dependencies 作为父项,因此提供各种 spring-boot 依赖项并有助于依赖项管理。除了这个 spring-boot-starter-parent 本身也有助于插件管理。 因此,如果您只使用 spring-boot-dependencies,您可以从它提供的依赖项管理中受益,但如果您使用 spring-boot-starter-parent,您将获得依赖项管理 + 插件管理。
  • spring-boot-starter - 它是 spring-boot-dependencies 提供的一个依赖项,它为自动配置、日志记录和 spring-core 提供依赖项。为了从 starter 或 spring-boot-dependencies 中提取任何依赖项,您需要将其显式添加为主 pom 中的依赖项。

答案 3 :(得分:-1)

  • spring-boot-parent用作Spring Boot项目的父项,例如Web应用程序,REST服务等。
  • 如果要编写自己的Spring启动启动器,请使用spring-boot-starter-parent。入门程序是特殊的Spring Boot依赖项,用于自动配置特殊的Spring Boot子系统。