Spring Boot 三 热部署 devtools

来源:互联网 发布:法制日报网络舆情内参 编辑:程序博客网 时间:2024/06/08 16:11

Sprint-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是热部署。

其原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader

工作方式,ClassLoader检测 应用的 class文件 如果有改变就会重新加载这些改变的 class文件,从而实现快速热部署。

实际应用:
1、在 pom.xml 中加入 devtools:

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

就完成了热部署:
注意如果 开发工具 没有开启 自动编译功能,依然无法完成热部署,因为 devtools 工具不能完成编译工作,他只能监测 class 文件的变化。
或者 自己手动 build project。

intellij 手动编译方式:
工具栏: build → build project。(ctrl + F9)