一篇文章帶你搞定SpringBoot中的熱部署devtools方法
一、前期配置
創(chuàng)建項(xiàng)目時(shí),需要加入 DevTools 依賴

二、測試使用
(1)建立 HelloController
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello devtools";
}
}

對其進(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot+devtools實(shí)現(xiàn)熱部署的示例代碼
- SpringBoot3使用devtools實(shí)現(xiàn)代碼熱部署的詳細(xì)步驟
- SpringBoot使用DevTools實(shí)現(xiàn)后端熱部署的過程詳解
- springBoot 插件工具熱部署 Devtools的步驟詳解
- SpringBoot2.X Devtools熱部署實(shí)現(xiàn)解析
- Springboot項(xiàng)目基于Devtools實(shí)現(xiàn)熱部署步驟詳解
- SpringBoot實(shí)現(xiàn)devtools實(shí)現(xiàn)熱部署過程解析
- Springboot+devtools配置熱部署過程
相關(guān)文章
jdk-logging?log4j?logback日志系統(tǒng)實(shí)現(xiàn)機(jī)制原理介紹
這篇文章主要介紹了jdk-logging、log4j、logback日志介紹以及三個(gè)日志系統(tǒng)的實(shí)現(xiàn)機(jī)制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
TransmittableThreadLocal解決線程間上下文傳遞煩惱
這篇文章主要為大家介紹了TransmittableThreadLocal解決線程間上下文傳遞煩惱詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
java 實(shí)現(xiàn)單鏈表逆轉(zhuǎn)詳解及實(shí)例代碼
這篇文章主要介紹了java 實(shí)現(xiàn)單鏈表逆轉(zhuǎn)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02

