在开发 Spring Boot 项目时,每次修改代码之后都需要手动重启项目,十分浪费时间。Spring 为开发者提供了一个名为 spring-boot-devtools 的模块来使 Spring Boot 应用支持热部署,当配置了 devtools 后,我们在 classpath 修改任何文件后项目都将会自动编译并重启。
1,添加依赖
(1)首先我们修改项目的 pom.xml 文件,在 dependencies 标签内添加一个新的 dependency 标签,用于加载 spring-boot-devtools 工具包。
<!-- 热部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency>
(2)修改 pom.xml 后 IDE 自带的 maven 会自动下载 jar 包,并在下方显示 jar 包下载进度,我们可以耐心等一会。
2,修改 application.properties 文件
在 application.properties 文件中添加如下内容,设置热部署的一些相关配置:
#"关闭缓存, 即时刷新" #spring.freemarker.cache=false #spring.thymeleaf.cache=true 如果开启此处会导致每次输入删除都会自动刷新哪怕你没保存 #热部署生效 spring.devtools.restart.enabled=true #设置重启的目录,添加那个目录的文件需要restart spring.devtools.restart.additional-paths=src/main/java #设置不需要重启的目录 spring.devtools.restart.exclude=WEB-INF/**
3、IDE 设置
(1)由于我使用的是 Intellij IDE(Mac 版),默认情况下不会自动编译。首先打开 Rreferences 窗口,勾选上 Compiler 子页面下的 Build project automatically 选项,并保存退出。
(2)按下 Command + Shift + A 在弹出框中输入 Registry 并点击结果。
(3)然后勾选自动编译选项。
4,运行测试
经过前面配置以后,以后每次只要对代码进行编辑并保存,Intellij IDEA 将会自动触发编译过程,并且重启应用服务。
注意:因为 devtools 采用的虚拟机机制,每次自动重启是很快的。
原文出自:www.hangge.com 转载请保留原文链接:https://www.hangge.com/blog/cache/detail_2634.html