SpringBoot熱部署-解決方案

在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

相關文章
相關標籤/搜索