说一点个人对热部署的简单理解:
传统ssm框架:
在传统的ssm框架中,修改代码或者配置后,我们明显可以从控制台看到后台有重启日志打印,这是因为有classloader存在,资源被修改后,会重新加载所有的资源,所以重启的速度不快。
Springboot热部署:
首先springboot默认是不默认启动热部署的,需要我们自己加入热部署的依赖,springboot有两个classloader存在,分工明确,一个辅助管理jar包,另外一个restartClassloader用来封装用户的代码,修改代码是会重启restartClassloader,当文件改动后,部分重启,所以重启效率相对于传统的ssm框架重启速度更快。
1.pom.xml
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>