Spring Boot學習筆記-配置devtools實現熱部署

寫在前面

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


devtools的原理

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


配置devtools

  首先,我們在pom.xml添加spring-boot-devtools依賴。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional> <!-- 表示依賴不會傳遞 -->
    </dependency>

  接着,修改我們之前的pom.xml:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <fork>true</fork> <!-- 如果沒有該配置,devtools不會生效 -->
        </configuration>
    </plugin>

此時,重新啓動應用,修改代碼進行測試。


測試

  • 修改類–>保存:應用會重啓
  • 修改配置文件–>保存:應用會重啓
  • 修改頁面–>保存:應用不會重啓,但會重新加載,頁面會刷新(原理是將spring.thymeleaf.cache設爲false,參考:Spring Boot配置模板引擎

結語

  這樣進行簡單的配置,就可以實現Spring Boot的熱部署,爲之後的開發提高了效率。
  個人博客:https://www.howieli.cn 和個人CSDN博客: http://blog.csdn.net/howieli_1995


參考資料

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