IDEA下配置Spring Boot的熱部署

© 版權聲明:本文爲博主原創文章,轉載請註明出處html

devtools簡介 java

spring-boot-devtools會監聽classpath下的文件變更,而且會當即重啓應用(發生在保存時機),由於其採用的虛擬機機制,該項重啓時很快的spring

spring-boot-devtools主要有兩個類加載器:緩存

  base classloader(Base類加載器),加載不改變的class,例如:第三方提供的jar包等app

  restart classloader (Restart類加載器),加載正在開發的classmaven

由於重啓的時候只加載了正在開發的class,沒有從新加載第三方的jar包,因此重啓會很快ide

IDEA下配置熱部署spring-boot

1. File -->> Settings -->> Build,Execution,Deployment -->> Granle-Android Compiler --> 勾選 Make project automatically(only works while not running / debugging)測試

2. Ctrl + Shift + A,輸入Registry,選中第一個回車,勾選 compiler.automake.allow.when app.runningui

3. pom.xml中引入devtools的依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <!-- optional=true,依賴不會傳遞,該項目依賴devtools;其餘依賴本項目的項目需從新引入devtools-->
    <optional>true</optional>
</dependency>

4. pom.xml中添加spring-boot-maven-plugin插件,而且配置<fork>true</fork>(非必須)

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!-- 本身測試,不配置也可實現熱部署 -->
        <fork>true</fork>
    </configuration>
</plugin>

5. 配置application.yml文件(或application.properties)

spring:
  thymeleaf:
    cache: true # false:關閉緩存,即時刷新
  devtools:
    restart:
      enabled: true # 啓用熱部署
      additional-paths: src/main/java # 設置需重啓的目錄,目錄下的文件改變時會restart

6. Chrome可在開發者模式下(快捷鍵F12:需打開開發者模式纔可以使用該快捷鍵),禁用緩存(非必須

 

7. 重啓項目,進行測試便可

 

參考:

  https://www.imooc.com/video/16717

  https://www.cnblogs.com/winner-0715/p/6666579.html

相關文章
相關標籤/搜索