1.springboot热部署原理:分两步
- 第一步:编译项目
- 第二步:devtools检测到项目变动,重启服务器
误区:devtools并不会帮你重新编译项目,要想热重启服务器,必须先编译项目。那想实现当项目发生变化时自动重启服务怎样实现呢?这需要[编译器+devtools]共同实现,下面以idea为例进行实现
2.springboot热部署实现
(1)在pom.xml文件中添加devtools依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
(2)配置idea,使编译器能够检测到项目变化时,自动编译项目
如果无效的话则还要修改如下配置
ctrl+Shift+Alt+/, 然后点击Registry后,找到
compiler.automake.allow.when.app.running 勾选上即可
配置完毕后重启项目就能实现热部署了,当项目发生变化时需要等待一小会服务才会重启