在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果。那么有没有一种方式能够快速的、自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?是有的,对于这个功能很多人对功能的叫法有争议,也没有权威的定义,笔者知道的就有:热启动、热加载、热更新、热部署。笔者觉得“热加载”可能更准确一些。但是叫什么并不重要,实现了最重要!
1.1.引入devtools的maven依赖
org.springframework.boot spring-boot-devtools true
spring-boot-devtools从名称就可以看出来,是开发者工具包,其主要的功能就是实现热加载。其实现原理就是两个ClassLoader,一个负责加载那些不会经常改变的文件,比如:第三方jar包;一个负责加载可能经常改变的类,比如我们自己在项目中写的代码,被称为restart ClassLoader。当有代码发生改变的时候,重建一个restart ClassLoader,原有的restart ClassLoader被丢掉。由于每次重新加载的内容较少,所以速度比手动重启更快一些。
org.springframework.boot spring-boot-maven-plugin true
在 p