您的位置:首页 > 编程语言 > Java开发

Spring Boot学习笔记-配置devtools实现热部署

2017-09-16 14:25 806 查看


写在前面

  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
依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 表示依赖不会传递 -->
</dependency>
1
2
3
4
5

  接着,修改我们之前的
pom.xml
:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
</configuration>
</plugin>
1
2
3
4
5
6
7

此时,重新启动应用,修改代码进行测试。


测试

修改类–>保存:应用会重启
修改配置文件–>保存:应用会重启
修改页面–>保存:应用不会重启,但会重新加载,页面会刷新(原理是将spring.thymeleaf.cache设为false,参考:Spring Boot配置模板引擎


结语

  这样进行简单的配置,就可以实现
Spring Boot
的热部署,为之后的开发提高了效率。 

  个人博客:https://www.howieli.cn 和个人CSDN博客: http://blog.csdn.net/howieli_1995


参考资料

赵计刚的博客
林祥纤的博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: