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

时间:2019-12-01 17:46:58

标签: spring-boot spring-boot-starter

如果我创建了一个定制的spring boot starter模块,是否需要包括依赖项spring-boot-starter

spring boot's github中:

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

1 个答案:

答案 0 :(得分:1)

如果您的启动程序依赖于spring-boot-starter,那么任何仅依赖于启动程序的应用程序都将具有作为Spring Boot应用程序所需的所有依赖项。一般来说,这就是您希望入门者表现的方式。

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-undertow依赖性旁边添加对spring-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>