1-1.手动启动热部署
约 586 字大约 2 分钟
2025-06-23
本节主要介绍如何在 Spring Boot 项目中手动启用热部署功能,以便在开发过程中能够快速地应用代码变更,而无需完全重启应用。
1. 手动启动热部署
步骤 1. 添加 spring-boot-devtools
依赖
首先,需要在 pom.xml
文件中添加 Spring Boot 开发者工具 (spring-boot-devtools
) 的依赖。这个依赖提供了热部署和其他有用的开发时特性。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<optional>true</optional>
表示该依赖是可选的,这意味着在生产环境中,如果不需要热部署功能,可以很容易地排除这个依赖。
步骤 2. 构建项目以激活热部署
添加依赖后,需要构建项目以激活热部署功能。可以使用 IDEA 提供的构建功能。

2. 重启与重载的底层工作原理
Spring Boot 应用在运行时,类加载器被划分为两个主要类别:base
类加载器和 restart
类加载器。理解它们的区别对于理解热部署的工作原理至关重要。
base
类加载器:负责加载jar
包中的类。由于jar
包中的类和配置文件通常不会在开发过程中发生变化,因此base
类加载器加载的内容在多次加载之间保持不变。restart
类加载器:负责加载开发者自己编写的类、配置文件以及页面等信息。这些文件是开发过程中经常变动的部分。
当 Spring Boot 应用启动时,base
类加载器首先执行,加载 jar
包中的信息。然后,restart
类加载器执行,加载开发者编写的内容。
当执行构建项目操作后,由于 jar
包中的信息没有变化,因此 base
类加载器不需要再次执行。只需要运行 restart
类加载器,重新加载开发者修改的内容,从而完成热部署的过程。本质上,热部署就是重新加载 restart
类加载器中的信息。