Spring Boot 熱部署

Spring Boot 熱部署

實際開發中,修改某個頁面數據或邏輯功能都須要重啓應用。這無形中下降了開發效率,因此使用熱部署是十分必要的。

什麼是熱部署?

應用啓動後會把編譯好的Class文件加載的虛擬機中,正常狀況下在項目修改了源文件是須要所有從新編譯並從新加載(須要重啓應用)。而熱部署就是監聽Class文件的變更,只把發生修改的Class從新加載,而不須要重啓應用,使得開發變得簡便。

Spring Boot 配置實現熱部署

第一種方式:maven 插件-springloaded

在spring-boot-maven-plugin插件配置中添加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> </dependency> </dependencies> </plugin> </plugins> </build>

經過命令:mvn spring-boot:run 啓動應用,修改controller中代碼 或 修改html頁面 後(記得在idea上面按ctrl+shirt+F9從新加載修改過的class文件)再刷新頁面,會發現顯示結果跟着變化。

注意:第一種方式 對 mvn spring-boot:run 這種方式啓動應用有效,而對直接運行Application.java啓動應用無效。

注意1:若是發現沒有熱部署效果,則須要檢查idea配置中有沒有打開自動編譯:html

打開 Preferences > Compiler , 勾選 Build project automatically

build auto.png

注意2:若是使用Thymeleaf模板引擎,須要把模板默認緩存設置爲falsejava

在application.properties中添加:

#禁止thymeleaf緩存(建議:開發環境設置爲false,生成環境設置爲true) spring.thymeleaf.cache=false

第二種方式:依賴 spring-boot-devtools 熱部署模塊

pom.xml 添加依賴:

<!-- 熱部署模塊 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <!-- 這個須要爲 true 熱部署纔有效 --> </dependency>

重啓應用,修改controller中代碼 或 修改html頁面 後再刷新頁面,會發現顯示結果跟着變化。

相關文章
相關標籤/搜索