1.为什么需要热部署?因为它可以加快开发速度,不用每次写完代码想看效果时,停止、启动项目。
2.devtools的原理
原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间
3.添加Mavene依赖
<!-- 热部署模块 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
4.设置IDEA,菜单:File-Settings—Compiler—Build Project automatically
启动项目中,在html或者java类中,进行修改,都会自动部署,完成后,刷新页面即可,可以提高开发效率,
在html页面添加了一行div,再后台添加了一个date时间,热部署后,自动显示出来