写在前面
Spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。
devtools的原理
深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。
配置devtools
首先,我们在pom.xml添加spring-boot-devtools依赖。
- 1
- 2
- 3
- 4
- 5
接着,修改我们之前的pom.xml:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
此时,重新启动应用,修改代码进行测试。
测试
- 修改类–>保存:应用会重启
- 修改配置文件–>保存:应用会重启
- 修改页面–>保存:应用不会重启,但会重新加载,页面会刷新(原理是将spring.thymeleaf.cache设为false,参考:Spring Boot配置模板引擎)
结语
这样进行简单的配置,就可以实现Spring Boot的热部署,为之后的开发提高了效率。
个人博客:https://www.howieli.cn 和个人优快云博客: http://blog.youkuaiyun.com/howieli_1995。
本文介绍如何使用spring-boot-devtools模块实现Spring Boot应用的热部署,通过简单的配置即可大幅提升开发效率。文章详细解释了devtools的工作原理,并提供了具体的配置步骤。
8743

被折叠的 条评论
为什么被折叠?



