iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
自我挑戰組

探索 Spring Boot Doc系列 第 16

Doc 6.8.3 Automatic Restart & 6.8.4 Live Reload

  • 分享至 

  • xImage
  •  

§ Doc 6.8.3 Automatic Restart

Applications that use spring-boot-devtools automatically restart whenever files on the classpath change. This can be a useful feature when working in an IDE, as it gives a very fast feedback loop for code changes. By default, any entry on the classpath that points to a directory is monitored for changes. Note that certain resources, such as static assets and view templates, do not need to restart the application.

採用 spring-boot-devtools 的 application 當 classpath 上的東西有改動的時候,會自動重啟。
預設classpath 上方的每一個元件(entry) 都會被監控有無變化。注意 特定資源的改變不應該重啟應用,例如說靜態資源或是view templates( 這裡指前一日提到的模板引擎)。

§ Doc 6.8.3 Automatic Restart:Exclude Resources

Certain resources do not necessarily need to trigger a restart when they are changed. For example, Thymeleaf templates can be edited in-place. By default, changing resources in /META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates does not trigger a restart but does trigger a live reload. If you want to customize these exclusions, you can use the spring.devtools.restart.exclude property. For example, to exclude only /static and /publ/ic you would set the following property:

這裡提到的幾個 classpath 目錄之下的資料夾,不應該重啟(restart) application,但會觸發 live reload 。 什麼是 live reload ? 如果有接觸過前端的人,或許在安裝 IDE 套件有安裝過,用途在於更改 html、css 等之類的時候,是一款會自動刷新網頁的套件。

下方是寫在application.yml 的註冊訊息,告知 devtool ,只排除 /static 還有 /public 的資料夾若有變更不去重啟 application,覆蓋原本的 META-INF/maven, /META-INF/resources, /resources, /static, /public

spring:
  devtools:
    restart:
      exclude: "static/**,public/**"

§ Doc 6.8.4 Live Reload
spring-boot-devtools 內建是有 livereload,如果想要在 application 啟動之時關閉 livereload ,
可以透過下方指令:

spring:
  devtools:
	  livereload:
		  enabled: false

Doc 6.8.3 這裡有提到一個 /META-INF/maven 和 /META-INF/resources ,如果現在單純用 spring intializer 去起一個 spring-boot 專案的話, 還看不到這個資料夾。

這個資料夾,META-INF (meta information) 是一個訊息包,用來配置應用程序、擴展程序、類加載器和服務 manifest.mf 文件,這個資料夾是在構建和打包 jar 包的時候會自動產生。

參考資料:
Doc 6.8.3 Automatic Restart
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.devtools.restart

Doc 6.8.4 Live Reload
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.devtools.livereload


上一篇
Doc 6.8.2 Property Defaults
下一篇
Doc 6.8.3 Automatic Restart: Using a Trigger File
系列文
探索 Spring Boot Doc30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言