由于Spring Boot常被用于开发REST接口,但是,每次新加一个接口的代码后,都需要重启项目,否则没法访问。这样效率比较低,比较好的方法是:是否有这样的一个功能:每次写完一个功能后,内置的服务器会自动的加载进去,我们只需要测试即可?
答案是肯定的。
Step1: 在开发所在模块的pom文件中,添加springloaded依赖
该依赖需要加载到build标签下,负责的是热部署。
<!-- https://mvnrepository.com/artifact/org.springframework/springloaded -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.7.RELEASE</version><!---视项目需要决定是否删除版本信息,依赖父项目-->
</dependency>
Step2: 在开发所在模块的pom文件中,添加spring-boot-devtools依赖
这个依赖需要普通的依赖方式,负责的是热启动
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>1.5.5.RELEASE</version><!---视项目需要决定是否删除版本信息,依赖父项目-->
</dependency>
Step3:重新启动Spring Boot项目
以后每次添加新的接口方法后,Spring Boot程序就会实现自动加载了。启动的方法不再像之前那样通过main函数启动,需要使用spring-boot:run
启动,因此,如果你是有父子模块的关系的话,有可能就用不上了。
注意
IDEA用户需要修改配置,选中如下的自动编译选项。
IDEA修改配置
总结
热部署和热启动总体感觉没啥用处。