使用 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 配置文件中的配置: