1. 程式人生 > >極其簡單的 使用IDEA 中 實現springboot 熱部署 (spring boot devtools版)

極其簡單的 使用IDEA 中 實現springboot 熱部署 (spring boot devtools版)

新增配置pom.xml配置

第一步:新增springboot的配置檔案

首先我先貼出我的配置

  • 新增依賴包
<!-- spring boot devtools 依賴包. -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional
>
<scope>true</scope> </dependency>
  • 新增外掛
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!-- 如果沒有該項配置,devtools不會起作用,即應用不會restart -->
<fork>true</fork> </configuration> </plugin>

具體配置檔案應該防止的位置為

這裡寫圖片描述

需要import的同學記得import 。
這裡寫圖片描述

任意修改原始碼 並且 Ctrl+F9 bulid

但是在eclipse中 專案是會自動編譯的 但是在IDEA 中 我們需要 按ctrl+F9 讓它再編譯一下

原理介紹

spring-boot-devtools 是一個為開發者服務的一個模組,其中最重要的功能就是自動應用程式碼更改到最新的App上面去。原理是在發現程式碼有更改之後,重新啟動應用,但是速度比手動停止後再啟動還要更快,更快指的不是節省出來的手工操作的時間。

其深層原理是:
使用了兩個ClassLoader,一個Classloader載入那些不會改變的類(第三方Jar包),另一個ClassLoader載入會更改的類,稱為 restart ClassLoader,這樣在有程式碼更改的時候,原來的restart ClassLoader 被丟棄,重新建立一個restart ClassLoader,由於需要載入的類相比較少,所以實現了較快的重啟時間(5秒以內)。