我是否应该将依赖项 spring-boot-starter 包含到我的自定义 spring 启动程序中?

Should I include the dependency spring-boot-starter into my custom spring boot starter?

如果我创建自定义 spring 引导启动模块,是否需要包含依赖项 spring-boot-starter

spring boot's github中:

是否有理由不将其添加到依赖项中?

如果您的启动器依赖于 spring-boot-starter,任何仅依赖于您的启动器的应用程序都将具有成为 Spring 启动应用程序所需的所有依赖项。一般来说,这就是您希望启动器的行为方式。

spring-boot-stater-log4j2spring-boot-starter-undertowspring-boot-starter-tomcat 略有不同,因为它们不能单独使用。 Spring Boot documentation calls them technical starters。它们旨在与现有启动器一起使用,以更改所使用的基础技术。例如,如果您正在构建 Web 应用程序,您将依赖于 spring-boot-starter-web。默认情况下,此启动器使用 Tomcat 作为嵌入式容器。如果你想切换到 Undertow,你将排除 spring-boot-starter-tomcat 并在你的 spring-boot-starter-web 依赖项旁边添加对 spring-boot-starter-undertow 的依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <!-- Exclude the Tomcat dependency -->
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- Use Undertow instead -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>