springboot 熱部署

簡述

熱部署就是在服務器運行時重新部署項目,——生產環境

 熱加載即在在運行時重新加載class,從而升級應用。——開發環境

原理

熱加載的實現原理主要依賴java的類加載機制,在實現方式可以概括爲在容器啓動的時候起一條後臺線程,定時的檢測類文件的時間戳變化,如果類的時間戳變掉了,則將類重新載入。

對比反射機制,反射是在運行時獲取類信息,通過動態的調用來改變程序行爲;
熱加載則是在運行時通過重新加載改變類信息,直接改變程序行爲。

熱部署原理類似,但它是直接重新加載整個應用,這種方式會釋放內存,比熱加載更加乾淨徹底,但同時也更費時間。

 

實現方式:

1.使用springloaded-1.2.8.RELEASE.jar  

2.使用spring-boot-devtools

 

方法一:

  • 首先下載Springloaded的Jar包 
    放到本地磁盤某目錄下,記得位置。下載地址: springloaded
  • 修改configration  ,下拉籃筐位置,點擊 edit configration 
  •  vm options:    -javaagent:D:\springloaded-1.2.8.RELEASE.jar -noverify

方法二:

在pom 文件加上依賴包

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
  </dependency>

加上:

<configuration>
    <fork>true</fork>
</configuration>  ,可重新部署

如果只是引入jar包,則可以實現熱加載

    <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!--<dependencies>
                    &lt;!&ndash; spring熱部署 &ndash;&gt;
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.6.RELEASE</version>
                    </dependency>
                </dependencies>-->
                <configuration>
                    <fork>true</fork>
                </configuration>


            </plugin>

 

 

後續步驟一樣就行:

  在設置中打開自動編譯 
左上角File->Settings->Build,Execution,Deployment->Compiler,選中Build project automatically 

打開運行時編譯 
按快捷鍵 Shift+Ctrl+Alt+/ ,點擊 Registry 

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