Spring-boot-devtools依赖 极大程度上方便了开发者
程序员文章站
2022-07-12 20:16:38
...
Devtools热部署
spring-boot-devtools
在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动还要更快。
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
Idea里Settings界面→选中Build project automatically→OK
然后按 “Ctrl+Shift+Alt+/” → 选中Registry
再然后钩中compiler.automake.allow.when.app.running→close
这样就可以运行之后,修改内容保存就可以自动运行。
原理:
使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader,这样在有代码更改的时候,原来的restartClassLoader 被丢弃,重新创建一个restartClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(真的快很多很多)。
上一篇: JvisualVM使用教程