SpringBoot开启热部署(IDEA版)
为什么要用热部署呢?
在实际的项目开发过中,当我们修改了某个java类文件时,需要手动重新编译、然后重新启动程序的,整个过程比较麻烦,特别是项目启动慢的时候,更是影响开发效率。
接下来让我们快速配置环境
>>首先Maven导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
>>修改IDEA设置
ctrl+alt+s :打开setting设置,在Compiler中勾选Build project automatically
ctrl+shift+alt+/ :打开Registry界面
搞完收工,当我们修改一个java类时就会热部署更新
等等,再多说一点
>>devtools的原理
Devtools 使用了两个类加载器
-
base classloader :负责加载那些不会改变的类
-
restart classloader:负责加载那些会改变的类
Devtools 监听机制触发是在保存代码的时候,然后重启应用,从而实现类文件和属性文件的热部署。
>>devtools的一些配置
#热部署是否生效
spring.devtools.restart.enabled=true
#设置重启的目录
spring.devtools.restart.additional-paths=src/main/java
#指定哪些目录下的文件修改不进行热部署
spring.devtools.restart.exclude=test/**
devtools也可以实现页面热部署,即页面修改后会立即生效(有些版本可以不用配置)
spring.thymeleaf.cache=false