热部署简介
Spring Boot 开发者为 Spring Boot 我的项目中提供了一个热部署 (spring-boot-devtools) 模块, 反对我的项目的热部署(批改了某些资源当前无需重启服务), 以进步开发效率. 其底层其实是借助了两个类加载器做了具体实现, 一个类加载器加载不变 class, 一个类加载器加载可能变动类, 以提供类的热部署性能.
热部署环境初始化
本次热部署的演示在 IDEA 开发中进行实现,其它工具能够本人通过搜索引擎进行学习。
IDEA 启动主动编译,如图所示:
IDEA 工具中启动注册窗口(按 ctrl+shift+alt+/), 如图所示:
抉择编译构建配置, 如图所示:
热部署在我的项目中利用
在须要热部署的我的项目或 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 工具中实际整个过程。