Spring Boot的热加载(Hot Reloading)是指在应用程序运行的过程中,对代码的修改能够立即生效,而不需要重新启动整个应用。这样可以提高开发效率,减少因为代码修改而重新启动应用所需的时间。
在 Spring Boot 中,主要有两种类型的热加载:
-
静态资源热加载: 这包括HTML、CSS、JavaScript等静态资源文件的热加载。Spring Boot 默认已经支持了对这些资源文件的动态更新,所以在修改这些文件后,不需要重新启动应用即可看到变化。
-
类文件热加载: 这是指Java类文件的热加载,即在修改Java代码后,应用程序可以在不重启的情况下加载新的类。Spring Boot并不默认提供这个功能,但可以通过一些额外的工具和插件来实现。
步骤一:导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
步骤二:打开自动构建、自动编译
启动时发现main变成了restartedMain。这时无论你修改静态资源还是类文件,短暂延迟后,即使不重启springboot,执行结果也会发生相应的变动。
可能存在的问题
浏览器可能会缓存静态资源文件,导致修改无法立即生效。你可以在浏览器中按下 Ctrl + F5 强制刷新页面,或者在开发阶段禁用浏览器缓存。另外,浏览器可能会缓存js等文件,当你修改js等文件后依然无法获得正确的执行结果,此时建议清除浏览器缓存。