热部署对于开发来说是非常方便的一个功能,它可以在修改源码后立即部署到运行环境,不用手动重启应用,提高开发效率。这里推荐使用spring-boot-devtools模块来实现该功能,Spring Boot在开发期间会自动为你配置那些属性。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
静态内容热部署
** Thymeleaf模板 **
如果你正在使用Thymeleaf,那就将spring.thymeleaf.cache
设置为false
,查看ThymeleafAutoConfiguration可以获取其他Thymeleaf自定义选项。
** FreeMarker模板 **
如果你正在使用FreeMarker,那就将spring.freemarker.cache设置为false,查看FreeMarkerAutoConfiguration 可以获取其他FreeMarker自定义选项。
**Groovy模板 **
如果你正在使用Groovy模板,那就将spring.groovy.template.cache设置为false,查看GroovyTemplateAutoConfiguration可以获取其他Groovy自定义选项。
**Velocity模板 **
如果你正在使用Velocity模板,那就将spring.velocity.template.cache设置为false,查看VelocityAutoConfiguration可以获取其他Velocity自定义选项。
应用热部署
在不重启容器的情况下重新加载Java类
使用Maven配置Spring Loaded
为了在Maven命令行下使用Spring Loaded,你只需将它作为依赖添加到Spring Boot插件声明中即可,比如:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
</dependencies>
</plugin>