Spring Boot學習筆記-配置devtools實現熱部署
阿新 • • 發佈:2017-11-17
原理 enc cnblogs 配置文件 target res 快的 pen cache
:
寫在前面
Spring為開發者提供了一個名為spring-boot-devtools的模塊來使Spring Boot應用支持熱部署,提高開發者的開發效率,無需手動重啟Spring Boot應用。
devtools的原理
深層原理是使用了兩個ClassLoader,一個Classloader加載那些不會改變的類(第三方Jar包),另一個ClassLoader加載會更改的類,稱為restart ClassLoader,這樣在有代碼更改的時候,原來的restart ClassLoader 被丟棄,重新創建一個restart ClassLoader,由於需要加載的類相比較少,所以實現了較快的重啟時間。
配置devtools
首先,我們在pom.xml
添加spring-boot-devtools
依賴。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 表示依賴不會傳遞 -->
</dependency>
接著,修改我們之前的pom.xml
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork> <!-- 如果沒有該配置,devtools不會生效 -->
</configuration>
</plugin>
此時,重新啟動應用,修改代碼進行測試。
測試
- 修改類–>保存:應用會重啟
- 修改配置文件–>保存:應用會重啟
- 修改頁面–>保存:應用不會重啟,但會重新加載,頁面會刷新(原理是將spring.thymeleaf.cache設為false,參考:Spring Boot配置模板引擎)
結語
這樣進行簡單的配置,就可以實現Spring Boot
的熱部署,為之後的開發提高了效率。
個人博客:https://www.howieli.cn 和個人CSDN博客: http://blog.csdn.net/howieli_1995。
參考資料
- 趙計剛的博客
- 林祥纖的博客
Spring Boot學習筆記-配置devtools實現熱部署