Spring?Boot?DevTools?全局配置學習指南
?? 一、直接重啟項目與devtools重啟的區(qū)別
我們在加入devtools依賴后就可以使用第一個按鈕,而第二個按鈕是我們平常使用最多的按鈕,兩者最大的區(qū)別就是再修改項目代碼后重啟項目的部分不一樣,第一個按鈕(錘子按鈕)是重新加載所有已經(jīng)改變的類和一些用戶編寫的代碼,不會重新加載第三方的插件和依賴以及庫,很省時間;但是第二個按鈕就會重新加載項目的所有資源,很浪費cpu資源;所以我們開發(fā)通常會使用devtools來輔助開發(fā)
?? 二、DevTools配置
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency>
只要代碼修改之后,點擊編譯按鈕(綠色錘子)就會重啟項目,重新加載所有已經(jīng)改變的類和一些用戶編寫的代碼,不會重新加載第三方的插件和依賴以及庫
?? 三、DevTools全局配置
在系統(tǒng)的當前用戶的目錄下新建一個文件名為.spring-boot-devtools.properties的文件,里面就可以編寫application.properties中關于devtools的配置,不過與application.properties不同的是全局配置文件是所有啟動的項目都會去加載這個配置文件,而application.properties只是本項目才會去加載
?? 四、trigger-file控制重啟行為
???? 4.1、配置
以下二者選一即可,前者項目配置,后者全局配置
application.properties配置
spring.devtools.restart.trigger-file=.reloadtrigger
.spring-boot-devtools.properties配置
spring.devtools.restart.trigger-file=.reloadtrigger
???? 4.2、新建文件.reloadtrigger
文件里隨便填入一些字符
???? 4.3、測試類
@RestController public class HelloController { @GetMapping("/hello") public String getdev(){ return "hello devtools 123"; } }
???? 4.4、控制重啟 Controller類
.reloadtrigger文件
請求http://localhost:8080/hello
之后我們修改Controller代碼,但我們并不修改.reloadtrigger文件
@RestController public class HelloController { @GetMapping("/hello") public String getdev(){ return "hello devtools 1234"; } }
重新編譯之后:
結果仍不改變
我們現(xiàn)在修改.reloadtrigger文件
重新編譯:
項目重啟,并且重新更新,將修改后的代碼生成
???? 4.5、總結
控制重啟行為就是不再是devtools在代碼被修改之后自動去重啟,而是由我們?nèi)斯ねㄟ^.reloadtrigger文件的修改來控制項目自動的重啟行為
到此這篇關于Spring Boot DevTools 全局配置的文章就介紹到這了,更多相關Spring Boot DevTools內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java中notify()和notifyAll()的使用區(qū)別
本文主要介紹了Java中notify()和notifyAll()的使用區(qū)別,文中通過示例代碼介紹的非常詳細,感興趣的小伙伴們可以參考一下2021-06-06