如果我创建了一个定制的spring boot starter模块,是否需要包括依赖项spring-boot-starter
?
spring-boot-starter
添加到其pom.xml
(spring-boot-starter-web,spring-boot-starter-thymeleaf)是否有理由不将其添加到依赖项中?
答案 0 :(得分:1)
如果您的启动程序依赖于spring-boot-starter
,那么任何仅依赖于启动程序的应用程序都将具有作为Spring Boot应用程序所需的所有依赖项。一般来说,这就是您希望入门者表现的方式。
spring-boot-stater-log4j2
,spring-boot-starter-undertow
和spring-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>