Spring Boot 開啟熱部署模式

前言:

在做Spring Boot 項目調試時總是會來回修改代碼,重啟項目,為了方便項目修改後,立即能看到效果。

一、實現的方式概述

1、使用 spring-boot-devtools

2、使用 Spring Loaded

二、Eclipse或Spring Tool Suite的實現方式

1、pom.xml文件增加

       <dependency>

<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-devtools/<artifactid>

<optional>true/<optional>

  

2、工程配置

Project -> Build Automatically 選中

三、IEDA的實現方式

1、pom.xml文件增加 spring-boot-devtools

    <dependency>

<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-devtools/<artifactid>

<optional>true/<optional>

  

2、pom.xml增加 springloaded

<build>

<plugins>

<plugin>

<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-maven-plugin/<artifactid>

<dependencies>

<dependency>

<groupid>org.springframework/<groupid>

<artifactid>springloaded/<artifactid>

<version>1.2.5.RELEASE/<version>

3、修改配置

打開idea ,File->Settings-> Build-Execution-Deployment -> Compiler,勾選 Build Project Automatically.

4、按 Shift+Ctrl+A (windows,mac是 command+shift+A)

將看到彈窗 Enter Action or option name,輸入"registry",雙擊第一項"Registry..." ,會彈出另一個窗口,尋找 < compiler.automake.allow.when.app.running> 選中,參考如圖:

5、重啟IDE (與Eclipse不一樣,IDEA需要重啟下)

四、測試方法

一、Eclipse測試

1、運行項目

2、修改類-->保存:應用會重啟

3、修改配置文件-->保存:應用會重啟

4、修改頁面-->保存:應用會重啟,頁面會刷新(原理是將spring.thymeleaf.cache設為false)

二、 IDEA測試

1、運行項目

2、修改controller中代碼,會發現顯示結果跟著變化。

3、修改html頁面 後再刷新頁面,會發現顯示結果跟著變化。

五、熱部署的注意事項

1、如果使用模板引擎,關閉緩存

在application.properties中添加

#禁止thymeleaf緩存(建議:開發環境設置為false,生成環境設置為true)

spring.thymeleaf.cache=false

2、開啟熱部署後,session每次都會重置的