Spring Boot熱部署

??spring-boot-devtools是為開發(fā)者服務(wù)的一個(gè)模塊,其中最重要的功能是自動(dòng)應(yīng)用代碼更新到App上面去。

一、熱部署原理

??原理是在發(fā)現(xiàn)代碼有更改之后,重新啟動(dòng)應(yīng)用,但是速度比手動(dòng)停止后再啟動(dòng)更快。通過使用兩個(gè)ClassLoader,一個(gè)ClassLoader加載那些不會(huì)改變的類(第三方j(luò)ar包),另一個(gè)ClassLoader加載會(huì)改變的類,稱為restart ClassLoader,這樣在有代碼更改的時(shí)候,原來的restart ClassLoader被丟棄,重新創(chuàng)建一個(gè)restart ClassLoader,由于需要加載的類相對較少,所以實(shí)現(xiàn)了較快的重啟時(shí)間。
??即devtools會(huì)監(jiān)聽classpath下的文件變動(dòng),并且會(huì)立即重啟應(yīng)用。

二、熱部署實(shí)現(xiàn)方式

1.增加maven依賴

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
</dependency>

2.開啟熱部署

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>//該配置依據(jù)idea環(huán)境非必須
            </configuration>
        </plugin>
    </plugins>
</build>

三、在idea中額外配置

1.ctrl+shift+A→查找make project automatically→選擇

111.png

2.ctrl+shift+A→查找Registry→選擇compiler.automake.allow.when.app.running

3.重啟idea

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本地開發(fā)過程中,一個(gè)小小的功能變化,測試的時(shí)候,都需要重啟應(yīng)用,這樣啟動(dòng)項(xiàng)目的時(shí)間,可能比改動(dòng)需要的時(shí)間還多,sp...
    時(shí)之令閱讀 601評論 0 1
  • devtools的原理 深層原理是使用了兩個(gè)ClassLoader,一個(gè)Classloader加載那些不會(huì)改變的類...
    皮多堡閱讀 468評論 0 5
  • 相信做開發(fā)的程序猿們都體驗(yàn)過修改一次代碼就要重啟一次的滋味吧簡直不要太爽,也比較影響工作效率,本來熱部署準(zhǔn)備后面介...
    意淺離殤閱讀 624評論 0 0
  • 在開發(fā)階段,每次修改代碼,總要重啟等待代碼部署發(fā)布,才能測試。這樣對每個(gè)程序員來說都很頭疼,那么今天就來看看Spr...
    我弟是個(gè)程序員閱讀 573評論 0 2
  • 我越來越不會(huì)寫詩 寫詩很難 就象巖石上繡花 我不懂什么叫詩 人都說詩是語言精華 寫詩貴在含蓄 我卻把詩寫成 又直又...
    秋AldrichB果閱讀 480評論 7 8

友情鏈接更多精彩內(nèi)容