maven工程使用spring-boot-devtools進行熱部署,更改代碼避免重啟web容器


spring-boot-devtools 是一個為開發者服務的一個模塊,其中最重要的功能就是自動應用代碼更改到最新的App上面去。相關Blog: 點擊打開鏈接 

原理是在發現代碼有更改之后,重新啟動應用,但是比速度比手動停止后再啟動還要更快,更快指的不是節省出來的手工操作的時間。

其深層原理是使用了兩個ClassLoader,一個Classloader加載那些不會改變的類(第三方Jar包),另一個ClassLoader加載會更改的類,稱為  restart ClassLoader

,這樣在有代碼更改的時候,原來的restart ClassLoader 被丟棄,重新創建一個restart ClassLoader,由於需要加載的類相比較少,所以實現了較快的重啟時間(5秒以內)。

 

只要先增加spring-boot的maven或者gradle依賴即可:(父依賴):
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

然后增加spring-boot相關依賴:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
最后添加  模塊依賴即可


[html] view plain copy
  1. <dependency>  
  2.        <groupId>org.springframework.boot</groupId>  
  3.        <artifactId>spring-boot-devtools</artifactId>   
  4.    </dependency>  

至於該模塊的使用問題,只要在依賴里面寫好了就行了,不需要其他特別的動作,使用示例  點擊這里 有一個視頻展示,還是蠻清晰的。

 

 

注意點:

1.如果分別引用版本號時,spring-boot-tools和spring-boot的版本要保持一致。不然會不兼容


免責聲明!

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



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