一篇文章帶你搞定SpringBoot中的熱部署devtools方法
一、前期配置
創建項目時,需要加入 DevTools 依賴
二、測試使用
(1)建立 HelloController
@RestControllerpublic class HelloController { @GetMapping('/hello') public String hello(){ return 'hello devtools'; }}
對其進行修改:然后不用重新運行,重新構建即可:只加載變化的類
三、熱部署的原理
Spring Boot 中熱部署最最關鍵的原理就是兩個不同的 classloader:
base classloader restart classloader其中 base classloader 用來加載那些不會變化的類,例如各種第三方依賴,而 restart classloader 則用來加載那些會發生變化的類,例如你自己寫的代碼。
Spring Boot 中熱部署的原理就是當代碼發生變化時,base classloader 不變,而 restart classloader 則會被廢棄,被另一個新的 restart classloader 代替。在整個過程中,因為只重新加載了變化的類,所以啟動速度要被重啟快。
需要注意,使用devtools,默認情況下當靜態資源發生變化時,并不會觸發項目重啟
到此這篇關于一篇文章帶你搞定SpringBoot中的熱部署devtools方法的文章就介紹到這了,更多相關SpringBoot 熱部署devtools內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: