如果您的 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-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>