在SpringBoot中啓用熱部署是很是簡單的一件事,由於SpringBoot爲咱們提供了一個很是方便的工具spring-boot-devtools,咱們只須要把這個工具引入到工程裏就OK了,下面我就說一下怎麼引入spring-boot-devtools。
修改pom.xml
咱們只須要在pom.xml裏,引入相應的jar包就好了。java
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <!-- optional=true,依賴不會傳遞,該項目依賴devtools;以後依賴myboot項目的項目若是想要使用devtools,須要從新引入 --> </dependency>
從新編譯類文件
當咱們修改了一個java類的時候,咱們只須要從新編譯一下,SpringBoot的就會重啓了。由於devtools會監聽classpath下的文件變更,因此當java類從新編譯的時候,devtools會監聽到這個變化,而後就會從新啓動SpringBoot。這個重啓是很是快的一個過程。由於在SpringBoot中有兩個類加載器,一個是加載工程外部資源的,如jar包,還有一個類加載器是用來加載本工程的class的。因此在重啓SpringBoot的時候只加載本工程的class文件。
監聽文件夾的變化
若是你不想從新編譯java類的話,還有一種方式用來讓SpringBoot重啓,那就是讓devtools監聽文件夾的變化:好比咱們想讓com.zkn.learnspringboot這個文件夾下的文件改變的時候,從新啓動SpringBoot,那麼咱們只要在application.properties中添加這樣一句話就好了:spring
spring.devtools.restart.additional-paths=com\\zkn\\learnspringboot
頁面熱部署
devtools能夠實現頁面熱部署,即頁面修改後會當即生效。你能夠在application.properties文件中配置springboot
spring.thymeleaf.cache=false
來實現這個功能。app
連接:https://www.jianshu.com/p/329cdd7f5478spring-boot