springboot-devtools 热部署
https://www.jianshu.com/p/0e3efd50e3e3
springboot-devtools 热部署
添加依赖jar
<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 都能够对类的修改进行重新加载。