在开发中对代码进行修改后 若想看到效果 则不得不重启应用 导致大量时间被浪费
在不重启应用的情况下 使程序自动部署 这种方式即称为热部署
如果是对模板引擎中的代码进行修改的话 Ctrl+F9可以重新编译当前页面 生成新的class文件并生效
但如果是后端的代码修改了 则不会生效 因为编译后的class文件并不能应用到工程中 此时 就需要热部署了
热部署插件有好多种 比较常用有Spring Loaded和JRebel 以及Devtools
这里介绍Devtools
Devtools是SpringBoot包含的额外的工具 提供了一些在开发中非常有用的功能
首先 引入Devtools的依赖:
若是使用SpringBoot的Initializer创建项目的话 引入Devtools模块即可:
或手动引入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
关于<scope>runtime</scope>
:依赖仅参与该项目在运行周期中的使用
关于<optional>true</optional>
:该依赖只影响当前项目
若有项目依赖该项目 则此依赖不会被传递
因为devtools一般只用于开发环境 在生产环境需要禁用 因此须设置该属性
然后 开启IDEA的自动编译(默认是不开启的):
1、在FIle - settings - Build,Execution,Deployment的compiler里 勾上build project automatically选项
2、然后 同时按下ctrl+shift+alt+/
选择registry
勾选compiler.automake.allow.when.app.running选项
设置完了 如果项目启动着的话 须重启一下项目
这样 自动编译就配置好了
接下来 每当修改完了代码 按下快捷键Ctrl+F9即可自动热部署
当然 也可以手动在导航栏的Build里选择Build Project
按下Ctrl+F9之后 会发现控制台的代码重新打印了 热部署成功