一篇文章帶你搞定SpringBoot中的熱部署devtools方法
一、前期配置
創(chuàng)建項(xiàng)目時(shí),需要加入 DevTools 依賴
二、測試使用
(1)建立 HelloController
@RestControllerpublic class HelloController { @GetMapping('/hello') public String hello(){ return 'hello devtools'; }}
對(duì)其進(jìn)行修改:然后不用重新運(yùn)行,重新構(gòu)建即可:只加載變化的類
三、熱部署的原理
Spring Boot 中熱部署最最關(guān)鍵的原理就是兩個(gè)不同的 classloader:
base classloader restart classloader其中 base classloader 用來加載那些不會(huì)變化的類,例如各種第三方依賴,而 restart classloader 則用來加載那些會(huì)發(fā)生變化的類,例如你自己寫的代碼。
Spring Boot 中熱部署的原理就是當(dāng)代碼發(fā)生變化時(shí),base classloader 不變,而 restart classloader 則會(huì)被廢棄,被另一個(gè)新的 restart classloader 代替。在整個(gè)過程中,因?yàn)橹恢匦录虞d了變化的類,所以啟動(dòng)速度要被重啟快。
需要注意,使用devtools,默認(rèn)情況下當(dāng)靜態(tài)資源發(fā)生變化時(shí),并不會(huì)觸發(fā)項(xiàng)目重啟
到此這篇關(guān)于一篇文章帶你搞定SpringBoot中的熱部署devtools方法的文章就介紹到這了,更多相關(guān)SpringBoot 熱部署devtools內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python安裝并操作redis實(shí)現(xiàn)流程詳解2. pip已經(jīng)安裝好第三方庫但pycharm中import時(shí)還是標(biāo)紅的解決方案3. CSS自定義滾動(dòng)條樣式案例詳解4. 詳解CSS偽元素的妙用單標(biāo)簽之美5. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法6. Ajax實(shí)現(xiàn)表格中信息不刷新頁面進(jìn)行更新數(shù)據(jù)7. HTML <!DOCTYPE> 標(biāo)簽8. Java Spring WEB應(yīng)用實(shí)例化如何實(shí)現(xiàn)9. ajax post下載flask文件流以及中文文件名問題10. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法
