Spring Boot 建立在 Spring 的基础之上,包含 Spring 的所有功能。如今,Spring Boot 已成为开发人员的最爱,因为其快速的环境配置特性可让开发人员直接专注于逻辑,而不是纠结于配置和设置。Spring Boot 是一个基于微服务的框架,用它开发一个为服务项目只需很短的时间。 以下是 Spring Boot 的一些特性:
可以避免使用 Spring 中的 XML 进行繁琐的配置
可以轻松维护和创建 REST 端点
包含嵌入式 Tomcat 服务器 部署非常简单,
war 和 jar 文件可以轻松部署到 Tomcat 服务器中
Spring Boot Starter Web
主要用于构建 Web 应用程序,其中包括使用 Spring MVC 的 RESTful 应用程序。它使用 Tomcat 作为默认的嵌入式容器。
它有两个重要特性:
与 WEB 开发兼容
可自动配置
我们需要在 Spring Boot Starter Web 的 pom.xml 文件中添加以下依赖关系:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.2.2.RELEASE</version> </dependency>
它使用 Spring MVC、REST 和 Tomcat 作为默认的嵌入式服务器。 只需要配置 spring-boot-starter-web 依赖项便可以实现引入开发所需要的相关依赖项。它还能减少构建依赖的数量。spring-boot-starter-web 主要依赖于以下内容:
org.springframework.boot:spring-boot-starter
org.springframework.boot:spring-boot-starter-tomcat
org.springframework.boot:spring-boot-starter-validation
com.fasterxml.jackson.core:jackson-databind
org.springframework:spring-web
org.springframework:spring-webmvc
默认情况下,spring-boot-starter-web 包含下面给出的 tomcat 服务器依赖关系:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.0.0.RELEASE</version> <scope>compile</scope> </dependency>
Spring-boot-starter-web 会自动配置网络开发所需的以下内容:
Dispatcher Servlet
错误页面
嵌入式 Servlet 容器
用于管理静态依赖关系的 Web JAR
Spring Boot 还支持 Jetty Server 和 Undertow Server。 它们都是嵌入式网络服务器。 我们还可以按如下方法将 spring-boot-starter-tomcat 从 spring-boot-starter-web 中排除:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
Spring Boot Starter Tomcat
Spring-boot-starter-tomcat 包含与 Tomcat 服务器相关的所有内容,它有
core
el
logging
WebSocket
它有以下依赖项:
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>8.5.23</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-el</artifactId> <version>8.5.23</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-websocket</artifactId> <version>8.5.23</version> <scope>compile</scope> </dependency>
Spring Boot Starter Web 与 Spring Boot Starter Tomcat 的区别
Spring Boot Starter Web |
Spring Boot Starter Tomcat |
---|---|
Spring Boot Starter Web 用于使用 Spring MVC 构建 RESTful 应用程序。 | Spring Boot Starter Tomcat 是 Spring Boot Starter Web 的默认嵌入式容器。 |
在使用网络服务时我们不能将其排除。 | 当我们想使用另一个嵌入式容器时,我们可以将其排除。 |
同时还支持 Jetty Server 和 Undertow Server。 | 只充当一个嵌入式网络服务器。 |
它可自动配置 Dispatcher Servlet、Error Page、Embedded servlet container 和 Web JAR,以管理网络开发的静态依赖关系。 | 它包含core、el、logging、WebSocket。 |
它包含 spring web 依赖项。 | 它包含与嵌入式 tomcat 服务器相关的所有内容。 |
它自动配置用于 Web 开发的功能。 | 它被用作默认的嵌入容器。 |