springboot+idea熱部署的實現(xiàn)方法(自動刷新)
近來在使用idea做springboot的項目,但是發(fā)現(xiàn)每次修改之后我都需要重新將項目關(guān)閉再開啟,這樣比較繁瑣,發(fā)現(xiàn)通過熱部署的方式讓我們可以一邊修改我們的項目,然后在頁面中直接通過刷新展示出來
spring為開發(fā)者提供了一個名為spring-boot-devtools的模塊來使Spring Boot應(yīng)用支持熱部署,提高開發(fā)者的開發(fā)效率,無需手動重啟Spring Boot應(yīng)用。
devtools的原理
深層原理是使用了兩個ClassLoader,一個Classloader加載那些不會改變的類(第三方Jar包),另一個ClassLoader加載會更改的類,稱為restart ClassLoader,這樣在有代碼更改的時候,原來的restart ClassLoader 被丟棄,重新創(chuàng)建一個restart ClassLoader,由于需要加載的類相比較少,所以實現(xiàn)了較快的重啟時間。
這里我沒有把所有的方式都嘗試一遍,只是使用了devtools的方式
總的來說,一共需要兩個步驟:
第一步、先設(shè)置我們的pom.xml文件,加入依賴首先是把下面代碼在<dependencies>中
<!--添加熱部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency>
另外下面的代碼是放在<build> 下面<plugins>里的
<plugin> <!--熱部署配置--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--fork:如果沒有該項配置,整個devtools不會起作用--> <fork>true</fork> </configuration> </plugin>
第二步、設(shè)置IDEA的自動編譯:(1)File-Settings-Compiler勾選 Build Project automatically
(2)快捷鍵 ctrl + shift + alt + /,選擇Registry,勾上 Compiler autoMake allow when app running
這樣我們的熱部署就完成了,可以再我們的項目中修改返回值,或者修改Mapping的value值后,在我們的頁面中刷新試試,我們的修改已經(jīng)生效了,不用通過再關(guān)閉再開啟項目查看了。
借鑒文章:IntelliJ IDEA中SpringBoot項目通過devtools實現(xiàn)熱部署的方法
總結(jié)
到此這篇關(guān)于springboot+idea熱部署的實現(xiàn)方法(自動刷新)的文章就介紹到這了,更多相關(guān)springboot+idea熱部署(自動刷新)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
