SpringBoot學習17:springboot熱部署配置

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

devtools的原理app

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

 

在pom.xml文件中添加devtools依賴spring-boot

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional><!--當其餘項目繼承該項目時,該座標不會被繼承-->
</dependency>

Eclipse默認自動編譯,而idea默認手動編譯,所以idea須要修改兩個參數以達到任意時間自動編譯的目的。idea

首先,File->setting->搜索compiler->將Make project automatically打勾(注意後面only works not running/debugging,因此咱們要實現熱部署就必須打破這個限制,因而乎有了下面設置)spa

而後,CTRL+ALT+SHIFT+/ 組合鍵打開 Maintenance窗口選擇Registry... ,找到compiler.automake.allow.when.app.running選項,打勾開啓運行時編譯功能(找了半天才發現是按字母排序的)debug

相關文章
相關標籤/搜索