Spring Boot 系列(六)web開發-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頁面 后再刷新頁面,會發現顯示結果跟着變化。

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

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

打開 Preferences > Compiler , 勾選 Build project automatically

build auto.png

注意2:如果使用Thymeleaf模板引擎,需要把模板默認緩存設置為false

在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頁面 后再刷新頁面,會發現顯示結果跟着變化。

版權聲明:本文為博主原創文章,轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM