idea下設置springBoot項目熱部署(熱加載)

近來在使用idea做springboot的項目,但是發現每次修改之後我都需要重新將項目關閉再開啓,這樣比較繁瑣,發現通過熱部署的方式讓我們可以一邊修改我們的項目,然後在頁面中直接通過刷新展示出來

spring爲開發者提供了一個名爲spring-boot-devtools的模塊來使Spring Boot應用支持熱部署,提高開發者的開發效率,無需手動重啓Spring Boot應用。

devtools的原理

深層原理是使用了兩個ClassLoader,一個Classloader加載那些不會改變的類(第三方Jar包),另一個ClassLoader加載會更改的類,稱爲restart ClassLoader,這樣在有代碼更改的時候,原來的restart ClassLoader 被丟棄,重新創建一個restart ClassLoader,由於需要加載的類相比較少,所以實現了較快的重啓時間。

這裏我沒有把所有的方式都嘗試一遍,只是使用了devtools的方式

總的來說,一共需要兩個步驟:

第一步、先設置我們的pom.xml文件,加入依賴

首先是把下面代碼在<dependencies>中


 
  1. <!--添加熱部署-->

  2. <dependency>

  3. <groupId>org.springframework.boot</groupId>

  4. <artifactId>spring-boot-devtools</artifactId>

  5. <optional>true</optional>

  6. <scope>true</scope>

  7. </dependency>

另外下面的代碼是放在<build>  下面<plugins>裏的


 
  1. <plugin>

  2. <!--熱部署配置-->

  3. <groupId>org.springframework.boot</groupId>

  4. <artifactId>spring-boot-maven-plugin</artifactId>

  5. <configuration>

  6. <!--fork:如果沒有該項配置,整個devtools不會起作用-->

  7. <fork>true</fork>

  8. </configuration>

  9. </plugin>

第二步、設置IDEA的自動編譯:

(1)File-Settings-Compiler勾選 Build Project automatically

(2)快捷鍵 ctrl + shift + alt + /,選擇Registry,勾上 Compiler autoMake allow when app running

這樣我們的熱部署就完成了,可以再我們的項目中修改返回值,或者修改Mapping的value值後,在我們的頁面中刷新試試,

我們的修改已經生效了,不用通過再關閉再開啓項目查看了。

借鑑文章:springboot熱部署(二)——springboot熱部署與發佈SpringBoot配置devtools實現熱部署

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章