Spring Boot devtool的使用

Spring Boot為我們提供了一個便捷的開發Spring Boot應用程序的環境,同時為了方便我們的開發Spring Boot應用程序,Spring Boot 推出了Spring Boot devtool的工具來方便我們更加快速的開發和測試Spring Boot應用程序。

我們將會從下面幾個方面來詳細講解Spring Boot devtool的功能。

添加Spring Boot devtool依賴

添加Spring Boot devtool依賴很簡單:

<code><dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-devtools/<artifactid>
/<dependency>
/<code>

這樣就添加好了,我們可以開始使用Spring boot devtool帶給我們的優秀功能了。

默認屬性

Spring Boot為我們提供了很多自動配置來提高我們開發的效率,比如會緩存模板引擎例如thymeleaf, 但是如果我們在開發過程匯中可能需要快速的看到修改的結果,這個時候我們就不需要這個緩存配置了,這時候我們就需要配置:

spring.thymeleaf.cache=false

如果添加了spring-boot-devtools, 上述的配置就不需要手動添加,devtool會自動幫我們添加好。

自動重啟

在開發過程中,如果我們修改了某些java文件,我們可能需要重啟下項目來觀看修改後的結果,如果使用spring-boot-devtools,當classpath中有文件變動時候,devtools會自動幫你重啟服務器。

注意,這裡的重啟的條件是classpath的文件要有變化,如果你在使用IDEA開發的話,請勾選“Build project automatically” 選項,如下圖示所示,否則你需要重新build項目來使重啟生效。

Spring Boot devtool的使用

Live Reload

Live Reload主要針對資源文件的,我們的APP啟動之後,可以看到一個:

<code>o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
/<code>

當資源文件變動的時候,方便前端刷新。

如果要用到這個live reload的功能,需要在chrome瀏覽器中安裝一個Remote Live Reload 的插件。

Spring Boot devtool的使用

這個插件主要是通過引入的腳本livereload.js在 livereload 服務和瀏覽器之間建立了一個 WebSocket 連接。每當監測到文件的變動,livereload 服務就會向瀏覽器發送一個信號,瀏覽器收到信號後就刷新頁面,實現了實時刷新的效果。

全局配置

spring-boot-devtools 提供了一個全局配置文件,方便你的開發環境配置,該文件在$HOME 目錄下面的 .spring-boot-devtools.properties 。

更多內容請訪問:flydean的博客 flydean.com


分享到:


相關文章: