SpringBoot热更新/热部署
热更新:只对方法主体有效,修改类,方法参数,返回值,名称,注解都无效。
springboot热部署:添加spring-boot-devtools依赖,每次修改完代码都会重启项目
相关配置:
-
不需要任何配置,使用C+S+F9即可热更新该文件,使用C+F9则可更新项目
-
run-edit configurations
on update action 和 on frame deactivation 选择update classes and resources
该项的作用是每次idea失去交点则会自动执行ctrl+F9? 构建项目
注意:1和2必须在Debug模式下才能更新代码
-
c+a+s+/
打开Maintenance选项框 --registry–compiler.automake.allow.when.app.running
勾选 -
settings-build,ex…-compiler-勾选build project automatically
-
添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
注意:
- 1、2是热更新,只更新方法主体,只能在debug模式下更新成功
- 3、4、5是springboot热部署,可以在run模式下运行,在修改代码的若干秒后热部署,在执行C+S+F9时会立即热部署(重启项目)。如果此时再配置2,则会在idea失去焦点时立即热部署(重启项目)
这里我仍然有几个问题没搞懂:
- 3和4的自动编译到底有什么用?
- 为什么Run运行的时候,1和2不能更新代码,是我的配置有问题吗?