什么是SpringBoot?SpringBoot 如何集成 tomcat?

4 个月前

Spring Boot是一个基于Spring框架的轻量级、快速开发的框架,它简化了基于Spring的应用程序的搭建和开发过程,让开发者可以更快速、更方便地构建和部署应用程序。

Spring Boot的核心理念是约定优于配置,它提供了很多默认的配置和依赖管理,使得开发者可以更快速地启动和运行应用程序,同时也减少了开发者在配置方面的工作量。

Spring Boot还提供了丰富的特性,例如自动配置、健康检查、应用程序监控、安全性、Swagger API文档生成等等,可以使得开发者更容易地添加这些特性,从而使得应用程序更加稳定和可靠。

总之,Spring Boot是一个快速、简单和可靠的应用程序开发框架,它使得开发者可以更加专注于应用程序的业务逻辑,而不是框架本身的配置和管理。

Spring Boot 默认使用嵌入式的 Tomcat 服务器来运行 web 应用程序,但是如果需要将应用程序部署到独立的 Tomcat 服务器上,则需要将 Spring Boot 应用程序打包成 war 包并将其部署到 Tomcat 中。

以下是将 Spring Boot 应用程序打包为 war 包并在 Tomcat 中部署的步骤:

在 pom.xml 文件中添加以下 Maven 依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 排除内置tomcat -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <!-- 范围设置为provided,不会被打包到war包中 -->
    <scope>provided</scope>
</dependency>

这样,我们就可以将应用程序打包为 war 包,并将依赖的 Tomcat 改为 provided 范围,以避免将其打包到 war 包中。

在应用程序主类中,扩展 SpringBootServletInitializer 类,并重写 configure() 方法。

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class MyApplication extends SpringBootServletInitializer {