springboot是微服务的前提,因而热部署是其必要的一个特性之一。本文将讲述springboot如何实现热部署。
1、环境约束
- win10 64位操作系统
- idea2018.1.5
- maven-3.0.5
- jdk-8u162-windows-x64
2、前提约束
- 完成springboot创建web项目 https://www.jianshu.com/p/de979f53ad80
注意:笔者创建项目的时候约束的包前缀是net.wanho.springboot.autoredeploy,读者可以自行创建包名,只是要注意本文中的代码也要修改包名。
3、修改pom.xml
加入以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
加入以下插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
4、修改application.properties
#热部署生效
spring.devtools.restart.enabled=true
#设置重启的目录
spring.devtools.restart.additional-paths=src/main/java,src/main/resources
#某些资源在更改时不一定需要触发重启
spring.devtools.restart.exclude=static/**
5、idea相关设置
-
CTRL+SHIFT+ALT+ / -> 选中 1.Registry...->选中 compile.automake.allow.when.app.running
-
File->Settings...->Compiler->选中 Build project Automatically
6、启动测试
- 改变页面,没有重启日志,也能看到改变的效果
- 在原来的一个controller类当中新增一个api,不用重启,也能访问到新增的api
- 新增加一个controller类,在该类中新增一个api,不用重启,也能访问到新类中的api
至此,我们完成了springboot中的热加载。