Spring Boot devtools 热部署
使用 devtools 进行热部署:
devtools 可是实现页面热部署(即页面修改后会立即生效,无需重启服务器,可以直接在 application.properties 配置文件中配置 spring.thymeleaf.cache=fasle; 来实现)。
实现类文件热部署(类文件修改后不会立即生效),实现对熟悉文件的热部署。
即 devtools 会监听 classpath 下的文件变动,并且会立即重启应用(发生在保存时机),注意:应为其采用的虚拟机机制,该项重启的很快的。
1.base classloader(Base 类加载器):加载不改变的 Class,例如:第三方提供的 jar 包。
2.restart classloader(Restart 类加载器):加载正在发开的 Class。
为什么重启很快,因为重启的时候只加载了在开发的 Class,没有 重新加载第三方的 jar 包。
pom 文件下引入 devtools 的 jar 包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
optional 为 true,因为依赖不会传递,该项目以来 devtools;之后以来该项目的项目如果想要试用 devtools,需要重新引入。
application.yml 配置文件中的配置: