在开发过程中,我们在调试代码的时候,往往要根据需求进行代码的修改,每次修改代码我们都要重新编译一次项目,这不仅耗时,而且极其不方便。对于我们程序猿来说就是挥之不去的痛。SpringBoot中提供了使用devtools进行热部署的方案,让我们在修改代码时不用频繁的去重新编译新修改的逻辑代码,大大的节省了时间,提高开发效率。
一、环境
- IDE : IntelliJ IDEA 2017.1.4 x64
- JDK : 1.8
- SpringBoot :2.0.2.RELEASE
二、在SpringBoot工程中引入devtools的依赖
<!-- 引入devtools热部署依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
在maven编译插件中加入标红节点
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
三、在Idea中设置自动编译
Filed--->Setting--->Build....--->Compiler
勾选Build project automatically
![](https://i-blog.csdnimg.cn/blog_migrate/62838095c94d57f1f9702df4bbeaccea.png)
Ctrl+Shift+Alt+/ => Register => 找到并勾选compiler.automake.allow.when.app.running => 然后重启Idea
![](https://i-blog.csdnimg.cn/blog_migrate/fda7af50d68ec2fa0bc58edaa9508c2e.png)
然后启动原来的项目,请求访问:
![](https://i-blog.csdnimg.cn/blog_migrate/8e7d5524fa2213879b82987e33becc59.png)
修改controller代码
return
userService
.
sayHello
(user)
+
"当前时间为:"
+new
Date
()
;
保存,再次访问:
![](https://i-blog.csdnimg.cn/blog_migrate/b013973178c37f3f6f5027ba0fd755af.png)