springBootDevTools实现项目热部署

Author Avatar
杨小强 1月 24, 2018
  • 在其它设备中阅读本文章

springboot-devtools 热部署

添加依赖jar

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>

添加 spring-boot-devtools。jar 之后就可以实现热部署了

  • 【说明】1: spring-boot-devtools 热部署是对修改的类和配置文件进行重新加载,所以在重新加载的过程中会看到项目启动的过程,其本质上这个时候只是对修改类和配置文件的重新加载,所以速度极快;
  • 【说明】2: spring-boot-devtools 对于前端使用模板引擎的项目,能够自动禁用缓存,在页面修改后,只需要刷新浏览器器页面即可;
  • 【说明】3: 为什么在 idea 中 spring-boot-devtools 没有热部署? 因为在Idea 中自动编译默认是停用的,启用路径 build -> compile -> buildProjectAutomatically
  • 【说明】4: 为什么在 idea 中启用自动编译依然没有热部署? idea监测到项目runninng 或者 debuging 会停用自动编译,所以还需要手动biild [Ctrl + F9] 或者 [ctrl + b]

热部署一般是开发过程中使用,开发者不想因为修改内容后重启server浪费大量的时间,而是希望修改代码后能够快速加载自己修改的方法或者类。节省开发时间,为开发者提供改好的开发体验。

IDEA本身提供了热部署功能,但是限制性比较大,只能对静态资源的修改、方法内的修改才能进行热更新,对于方法参数或者方法类的修改不能进行热部署,但是像devtools,jrebel 都能够对类的修改进行重新加载。