文章前言
Spring Boot提供了热部署功能,所谓热部署就是当你修改了代码后不用重新启动服务器只要重新编译一下当前项目就可以实现对项目的重新部署,这极大的节省了部署应用时间,对于开发体验还是有很大提升的,因为我们不用一修改了代码就部署应用,因为部署应用也是会花费很长时间的
具体实现
Spring Boot目前支持两种热部署方案,一种是利用SpringLoader插件,另一种是使用DevTools工具
SpringLoader
在pom.xml文件中添加如下依赖
<!-- https://mvnrepository.com/artifact/org.springframework/springloaded -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.8.RELEASE</version>
</dependency>
然后修改application.properties文件并重新编译,可以看到会自动重新部署:
值得注意的是SpringLoader只对java代码进行热部署处理,无法实时更新页面,也就是说它对页面无能为力
DevTools工具
修改pom.xml文件,添加如下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
修改代码之后需要重新编译一下即可
差异对比
SpringLoader在部署项目时使用的是热部署的方式,而DevTools在部署项目时使用的是重新部署的方式