(三)初識springboot之熱部署

寫在前面的

在日常開發中,代碼更改後要重新啓動應用,以使修改的代碼編譯生效,但是這樣會耗費比較多的工作時間,所以使用熱部署就顯得比較重要了,可以節約很多時間。

一、devtools熱部署的原理

springboot中提供了devtools這個starter,使用devtools插件可以自動應用最新的代碼到程序上,實現熱部署。這個工具的實現是依賴兩個ClassLoader,其中一個ClassLoader用來加載依賴包中的類,這些類通常不會改變,另一個ClassLoader用來加載程序中自己編寫的類,這些類會發生改變。當程序代碼發成變化後,第二個ClassLoader就會重新啓動更新應用程序,實現了應用最新代碼到應用程序。因爲改變的類比較少所以有比較快的加載時間,減少工作時間的浪費。

二、導入依賴配置插件

在pom.xml中導入依賴,並在build配置插件

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <!--版本號可以自己指定,如果不指定會根據springboot的父版本號應用-->
</dependency>

插件

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!--設置爲true表示應用重啓,默認false-->
        <fork>true</fork>
    </configuration>
</plugin>

三、編譯器設置

經過以上配置可能還需要以下配置。eclipse是默認開啓自動編譯,所以經過以上配置就可以使用,不過IDEA上默認關閉自動編譯所以使用還需要在把編譯器設置一下,設置過程如下
(1)File(左上角菜單)->Settings..->Build,Execution,Deployment->Compiler裏面有個Build project automatically的選項把前面的勾上
(2)快捷Ctrl+Shift+A 輸入Registry…打開這一項將compiler.automake.allow.when.app.running這一項勾上就可以了(可能需要重啓一次IDEA)

原文地址(個人網站):http://te-amo.site/user/article/info/ARTICLE20180222104208770

發佈了32 篇原創文章 · 獲贊 2 · 訪問量 4677
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章