Spring?Boot?DevTools?全局配置學(xué)習(xí)指南
?? 一、直接重啟項(xiàng)目與devtools重啟的區(qū)別
我們?cè)诩尤雂evtools依賴(lài)后就可以使用第一個(gè)按鈕,而第二個(gè)按鈕是我們平常使用最多的按鈕,兩者最大的區(qū)別就是再修改項(xiàng)目代碼后重啟項(xiàng)目的部分不一樣,第一個(gè)按鈕(錘子按鈕)是重新加載所有已經(jīng)改變的類(lèi)和一些用戶(hù)編寫(xiě)的代碼,不會(huì)重新加載第三方的插件和依賴(lài)以及庫(kù),很省時(shí)間;但是第二個(gè)按鈕就會(huì)重新加載項(xiàng)目的所有資源,很浪費(fèi)cpu資源;所以我們開(kāi)發(fā)通常會(huì)使用devtools來(lái)輔助開(kāi)發(fā)
?? 二、DevTools配置
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency>
只要代碼修改之后,點(diǎn)擊編譯按鈕(綠色錘子)就會(huì)重啟項(xiàng)目,重新加載所有已經(jīng)改變的類(lèi)和一些用戶(hù)編寫(xiě)的代碼,不會(huì)重新加載第三方的插件和依賴(lài)以及庫(kù)
?? 三、DevTools全局配置
在系統(tǒng)的當(dāng)前用戶(hù)的目錄下新建一個(gè)文件名為.spring-boot-devtools.properties的文件,里面就可以編寫(xiě)application.properties中關(guān)于devtools的配置,不過(guò)與application.properties不同的是全局配置文件是所有啟動(dòng)的項(xiàng)目都會(huì)去加載這個(gè)配置文件,而application.properties只是本項(xiàng)目才會(huì)去加載
?? 四、trigger-file控制重啟行為
???? 4.1、配置
以下二者選一即可,前者項(xiàng)目配置,后者全局配置
application.properties配置
spring.devtools.restart.trigger-file=.reloadtrigger
.spring-boot-devtools.properties配置
spring.devtools.restart.trigger-file=.reloadtrigger
???? 4.2、新建文件.reloadtrigger
文件里隨便填入一些字符
???? 4.3、測(cè)試類(lèi)
@RestController public class HelloController { @GetMapping("/hello") public String getdev(){ return "hello devtools 123"; } }
???? 4.4、控制重啟 Controller類(lèi)
.reloadtrigger文件
請(qǐng)求http://localhost:8080/hello
之后我們修改Controller代碼,但我們并不修改.reloadtrigger文件
@RestController public class HelloController { @GetMapping("/hello") public String getdev(){ return "hello devtools 1234"; } }
重新編譯之后:
結(jié)果仍不改變
我們現(xiàn)在修改.reloadtrigger文件
重新編譯:
項(xiàng)目重啟,并且重新更新,將修改后的代碼生成
???? 4.5、總結(jié)
控制重啟行為就是不再是devtools在代碼被修改之后自動(dòng)去重啟,而是由我們?nèi)斯ねㄟ^(guò).reloadtrigger文件的修改來(lái)控制項(xiàng)目自動(dòng)的重啟行為
到此這篇關(guān)于Spring Boot DevTools 全局配置的文章就介紹到這了,更多相關(guān)Spring Boot DevTools內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java基于RMI遠(yuǎn)程過(guò)程調(diào)用詳解
這篇文章主要為大家詳細(xì)介紹了java基于RMI遠(yuǎn)程過(guò)程調(diào)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08支付寶開(kāi)發(fā)平臺(tái)之第三方授權(quán)登錄與獲取用戶(hù)信息
本文主要介紹了第三方授權(quán)登錄與獲取用戶(hù)信息的實(shí)例方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03Java中notify()和notifyAll()的使用區(qū)別
本文主要介紹了Java中notify()和notifyAll()的使用區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下2021-06-06Java對(duì)文件的隨機(jī)讀寫(xiě)以及壓縮處理操作
這篇文章主要介紹了Java對(duì)文件的隨機(jī)讀寫(xiě)以及壓縮處理操作,是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10