spring-boot-devtools 介绍
spring-boot-devtools 是一个为开发者服务的模块,可以实现 Spring Boot 热部署,其中最重要的功能就是自动将应用代码更改到最新的 App 上面去。
spring-boot-devtools 可以实现页面热部署,实现类文件热部署(类文件修改后不会立即生效),实现对属性配置文件的热部署。其原理是 spring-boot-devtools 会监听 Classpath 下的文件变动,并且会立即重启应用(发生在保存时机)。
由于采用的虚拟机机制,重启的时候只是加载了在开发的 Class,没有重新加载第三方的 JAR 包,所以重启是很快的。
在idea中正常运行:
出现restartedMain,表示热部署启动
打成jar包后java -jar启动:
没有restartedMain,并没有热部署启动
并且报错项目启动失败
去掉spring-boot-devtools依赖,再打包运行,则启动成功
总结:
spring-boot-devtools不可应用至生产环境