日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot+gradle+idea实现热部署和热加载

發布時間:2025/3/15 javascript 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot+gradle+idea实现热部署和热加载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

因為之前使用myeclipes的同學就知道,在使用myeclipes的時候,java文件或者jsp文件寫完之后會被直接熱加載到部署的容器中,從而在開發的時候,不同經常去重啟項目,從而達到了增加開發效率的目的。

但是現在切換到SpringBoot之后,因為沒有外部容器的支持,而且使用gradle去構建項目,再加上idea默認不會自動編譯的特性,最終導致開發項目的時候需要經常重啟項目,這是我們不愿意看到的。

為了提高開發效率,我們下面將優化我們的SpringBoot模版。方案經過驗證,可放心使用。

github地址:https://github.com/LinkinStars/springBootTemplate

?

方案說明

1、SpringBoot對于頁面來說,已經實現了熱加載,只是默認是關閉的,需要手動打開。

2、對于JAVA類來說,使用官方推薦的spring-boot-devtools來實現熱部署(這里是熱部署并非熱加載注意區別)

3、需要關閉頁面的緩存,這里我使用的是Thymeleaf配置在后面說明。

詳細的方案說明可以參考spring官方文檔:https://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html

spring考慮是真的周到,我一開始都沒發現文檔中還有熱部署相關的說明。

?

如何配置實現

1、在build.gradle文件根節點中加入

bootRun {
//開啟頁面熱加載功能
addResources = true
}

?

2、在build.gradle文件dependencies下加入compile("org.springframework.boot:spring-boot-devtools")

?

3、開啟IDEA自動編譯

上面的打勾之后,按下面的鍵

windows:ctrl + alt + shift + / mac: command + alt + shift + / ?

點擊Registry,勾選compiler.automake.allow.when.app.running

?

?

4、配置thymeleaf.cache為false

thymeleaf:

cache : false

?

性能等情況說明

1、經過以上的配置之后,頁面的修改不需要進行編譯,修改馬上就會有效果

2、Java類在修改之后會被重新編譯,但是要注意的是,項目會重新進行部署,你可以從控制臺看到信息。

3、但是經過測試,并不是整個項目重新進行部署,spring應該已經做過處理,所以重新部署的時間非???/strong>,不會影響使用。

4、還有一種實現方案是使用:springloaded 據說是實現的熱加載而非熱部署,但是我經過實踐之后發現在我的環境下并不能成功,沒有效果,spring官方文檔中還特別對SpringBoot+gradle+idea這樣的環境使用springloaded做出了說明,但是我根據文檔配置之后任然是不行,可能跟我本地環境有關,不過以上的配置可以滿足我的需求,而且部署時間并不長,所以我選擇使用了devtools

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html

5、令人開心還有,因為實現的是熱部署,所以即使是XML文件的修改,比如MyBatis的SQL修改都會被熱部署,也就是改什么就馬上有用了。

6、因為當前還是一個最簡單的項目之下,沒有很多包很多類,我不清楚當項目大了之后部署時間會不會變的特別長,還需進行測試。我的建議是,如果你有很多東西要一次性改,你就老老實實停了項目改就好了。反正不差這點時間。

?

轉載于:https://www.cnblogs.com/linkstar/p/8245480.html

總結

以上是生活随笔為你收集整理的SpringBoot+gradle+idea实现热部署和热加载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。