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)
本文介绍了Spring Boot DevTools模块的功能及其实现原理。通过使用两个ClassLoader来分别加载不变的类和可更改的类,实现对修改后的类进行快速热部署。文章还提供了如何在pom.xml中配置devtools的方法,并指出了自动编译对于实现热部署的重要性。
1957

被折叠的 条评论
为什么被折叠?



