目录

springboot与热部署

在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间 花费,我们希望不重启应用的情况下,程序可以自动部署(热部署)。热部署原理很简单,就是重新编译改动后的java文件生成新的class,再将class文件加载到内存,jdk自带的classloader将class文件加载内存中后就不会再重新加载,热部署工具使用自己的classloader,每次加载都去查看是否有变化,有变话则重新加载class。

如何能实现热部署。有以下四种情况

模板引擎

  • 在Spring Boot中开发情况下禁用模板引擎的cache
  • 页面模板改变cmd+F9可以重新编译当前页面并生效

Spring Loaded

Spring官方提供的热部署程序,实现修改类文件的热部署

下载spring loaded,项目地址

添加运行时参数:-javaagent:C:/springloaded-1.2.5.RELEASE.jar –noverify

JRebel

  • 收费的一个热部署软件

  • 安装IDEA插件使用即可

参照:idea支持热部署

Spring Boot Devtools(推荐)

引入依赖

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

重新编译class