一篇文章帶你搞定SpringBoot中的熱部署devtools方法
一、前期配置
創(chuàng)建項(xiàng)目時(shí),需要加入 DevTools 依賴(lài)
二、測(cè)試使用
(1)建立 HelloController
@RestControllerpublic class HelloController { @GetMapping('/hello') public String hello(){ return 'hello devtools'; }}
對(duì)其進(jìn)行修改:然后不用重新運(yùn)行,重新構(gòu)建即可:只加載變化的類(lèi)
三、熱部署的原理
Spring Boot 中熱部署最最關(guān)鍵的原理就是兩個(gè)不同的 classloader:
base classloader restart classloader其中 base classloader 用來(lái)加載那些不會(huì)變化的類(lèi),例如各種第三方依賴(lài),而 restart classloader 則用來(lái)加載那些會(huì)發(fā)生變化的類(lèi),例如你自己寫(xiě)的代碼。
Spring Boot 中熱部署的原理就是當(dāng)代碼發(fā)生變化時(shí),base classloader 不變,而 restart classloader 則會(huì)被廢棄,被另一個(gè)新的 restart classloader 代替。在整個(gè)過(guò)程中,因?yàn)橹恢匦录虞d了變化的類(lèi),所以啟動(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)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. PHP設(shè)計(jì)模式中工廠(chǎng)模式深入詳解2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明3. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)4. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析5. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)6. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法7. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息8. 解決AJAX返回狀態(tài)200沒(méi)有調(diào)用success的問(wèn)題9. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向10. CSS hack用法案例詳解
