65

热部署简介

Spring Boot 开发者为Spring Boot项目中提供了一个热部署(spring-boot-devtools)模块,支持项目的热部署(修改了某些资源以后无需重启服务),以提高开发效率.其底层其实是借助了两个类加载器做了具体实现,一个类加载器加载不变class,一个类加载器加载可能变化类,以提供类的热部署性能.

热部署环境初始化

本次热部署的演示在IDEA开发中进行实现,其它工具可以自己通过搜索引擎进行学习。

IDEA 启动自动编译,如图所示:

image.png

IDEA工具中启动注册窗口(按ctrl+shift+alt+/),如图所示:
image.png

选择编译构建配置,如图所示:
image.png

热部署在项目中应用

在需要热部署的项目或module中添加如下依赖:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <scope>runtime</scope>
</dependency>

依赖下载以后,可重启reload项目,然后当我们修改了src/main/java目录下的java文件或修改了src/main/resources目录下的配置文件时,默认都会重启你的web服务器,但是修改了测试类或html文件不会自动重启和部署。

总结(summary)

本小节对springboot工程中的热部署进行了分析和实现,可以idea工具中实践整个过程。


Jason
4.2k 声望17.2k 粉丝

以终为始,闭环迭代,持续提高。