0

如果我创建一个自定义 Spring Boot 启动模块,我需要包含依赖项spring-boot-starter吗?

spring boot 的 github中:

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

4

1 回答 1

1

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

spring-boot-stater-log4j2, spring-boot-starter-undertow, 和spring-boot-starter-tomcat略有不同,因为它们不打算单独使用。Spring Boot 文档称它们为技术入门者。它们旨在与现有的启动器一起使用,以更改所使用的底层技术。例如,如果您正在构建一个 Web 应用程序,您将依赖spring-boot-starter-web. 此启动器默认使用 Tomcat 作为嵌入式容器。如果你想交换到 Undertow,你需要在你的依赖项旁边排除spring-boot-starter-tomcat并添加一个依赖项:spring-boot-starter-undertowspring-boot-starter-web

<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>
于 2019-12-01T20:27:39.503 回答