简单介绍:
在之前我们的项目中,当我们在编写了一个新的类并且要应用的时候,需要手动重启服务器重新部署一下,这个过程需要我们手动去完成,但是很多时候,比如我们在做测试,需要反复的修改代码,就需要反复的重启我们的服务器,这个过程是非常的耗费时间的,那么就需要引入一个新的技术来帮我们完成手动重启服务器的过程,这个技术就叫做热部署。
热部署:当代码发生改变的时候,自动重新启动服务器。
开启热部署:
如何开启热部署呢,主要分为以下几个步骤:
1、首先在项目中导入对应的jar包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
2、激活热部署
在引入了以来坐标之后,我们就可以激活热部署了。按下快捷加ctrl+F9重新部署,或者我们可以通过点击按钮:
在最上面的工具栏中点击部署,然后点击部署项目,等待项目中心构建完成。
关于热部署:
在我们的项目的重启方式中,有两种可以选择的重启方式:重启和重载
重启(Restart):重新部署自定义开发代码,包含类,页面,配置文件,加载位置,restart类加载器
重载(Reload):重新部署jar包,加载位置base类加载器
热部署仅加载当前开发者自定义开发的资源,不加载jar资源,属于重载。
自动启动热加载:
热加载的配置在之前就已经做好了,然后热加载的触发就是当我们文件中的代码发生了变化,并且在鼠标焦点离开IDEA之后,默认是五秒钟之后他就会自动的重载项目,在控制台会重新的刷新一些新的连接信息,看到之后我们就可以在浏览器端刷新前端页面,看到新的结果出现在页面或者出现在控制台上。
热部署的范围:
在我们开启热部署之后,他并不会对我们所有的文件中的代码变化都去做检查。有一些文件夹是默认不做代码比对的,也就是我们修改了里面的代码也不会触发热部署,默认有以下几个:
/WETA-INF/mave,/WETA_INF/resources/,/resources,/static,/public,/tmplate
也就是我们存放jar包以及静态资源的目录不会触发热部署,这个目录可以手动的调整,在我们的SpringBoot的配置文件中,有一个devTools的相关配置,这个配置就是关于我们热加载方面的配置,控制我们的代码对比目录,控制热加载是否开启等一系列的配置。