1. 程式人生 > 其它 >SpringBoot實現熱部署方法

SpringBoot實現熱部署方法

引入 spring-boot-devtools 依賴

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

 SpringBoot熱部署實現原理;
springBoot熱部署原理是:當我們使用編譯器啟動專案後,在編譯器上修改了程式碼後,編譯器會將最新的程式碼編譯成新的.class檔案放到classpath下;而引入的spring-boot-devtools外掛,外掛會監控classpath下的資源,當classpath下的資源改變後,外掛會觸發重啟;

而重啟為什麼速度快於我們自己啟動呢?

我們自己啟動的時候,是載入專案中所有的檔案(自己編寫的檔案 + 所有專案依賴的jar)

而加入了spring-boot-devtools外掛依賴後,我們自己編寫的檔案的類載入器為org.springframework.boot.devtools.restart.classloader.RestartClassLoader,是這個工具包自定義的類載入器, 專案依賴的jar使用的是JDK中的類載入器(AppClassLoader\ExtClassLoader\引導類載入器)

在外掛觸發的重啟中,只會使用RestartClassLoader來進行載入(即:只加載我們自己編寫的檔案部分)

原文連結:https://blog.csdn.net/sunshineKay/article/details/118818547