1. 程式人生 > >springboot實現熱部署(idea2018)

springboot實現熱部署(idea2018)

熱部署

spring-boot-devtools是一個為開發者服務的一個模組,其中最重要的功能就是熱部署。原理是在發現程式碼有更改之後,重新啟動應用,但是速度比手動停止後再啟動更快。其深層原理是使用了兩個ClassLoader,一個Classloader載入那些不會改變的類(第三方Jar包),另一個ClassLoader載入會更改的類,稱為restart ClassLoader,這樣在有程式碼更改的時候,原來的restart ClassLoader被丟棄,重新建立一個restart ClassLoader,由於需要載入的類相比較少,所以實現了較快的重啟時間。即devtools會監聽classpath下的檔案變動,並且會立即重啟應用(發生在儲存時機)

開啟idea自動make功能

1、Settings --> 查詢Build project automatically --> 選中
在這裡插入圖片描述

2、Ctrl + Shift + Alt + / --> 查詢Registry --> 找到並勾選compiler.automake.allow.when.app.running
在這裡插入圖片描述

重啟idea

引入mavern 依賴

  <!--配置SpringBoot的熱部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

這樣就完成了熱部署功能的實現