最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring?boot教程之IDEA環(huán)境下的熱加載與熱部署

 更新時間:2022年09月02日 08:34:38   作者:字母哥  
這篇文章主要介紹了spring?boot系列教程中的IDEA環(huán)境下的熱加載與熱部署的相關資料,需要的朋友可以參考下

在實際的開發(fā)過程中,我們經常修改代碼之后,手動的重啟項目,手動刷新瀏覽器查看修改效果。那么有沒有一種方式能夠快速的、自動的幫我們將修改代碼自動更新,避免手動重啟,從而提高開發(fā)效率呢?肯定是有的,但是對于這個功能很多人對功能的叫法有爭議,筆者查詢了維基百科、官方文檔,沒有得到合理的答案,也沒有權威的定義,筆者知道的就有:熱啟動、熱加載、熱更新、熱部署、熱切換。這幾個詞從語義上是有區(qū)別的,但是叫什么并不重要,實現了最重要,畢竟絕大部分程序員為了使用這個功能方便開發(fā),也不是專業(yè)的搞學術研究的。

如果哪位朋友獲得了權威渠道的說法,可以將文檔連接反饋給我。我再理解一下,爭取做到學術研究級別的一絲不茍!在此之前筆者按照自己的想法和英文翻譯的角度去使用這些名詞。

一、使用Jrebel插件

這是最簡單的一種方式,但是有一定的個局限性,Jrebel插件是收費的。雖然有破解方案,但是不建議!有需要的同學自行研究,這里就不多做介紹了。

Jrebel插件在有些Spring Boot版本不夠兼容,會報錯,越新的版本越容易報錯。所以筆者目前還是選擇性放棄使用該方法!

第一步:安裝插件,按照箭頭所示選擇安裝。安裝完成之后,要重啟IDEA才能生效。

第二步:激活。在安裝完成之后,右上角會多出這樣幾個按鈕。點擊之后會提示你進行插件激活,可以注冊碼激活,也可以在線激活。也可以填寫個人姓名、郵箱、電話之后獲取10天的試用!

第三步:更新操作觸發(fā)配置,這個配置不僅結合Jrebel使用有效,對于其他的方式實現開發(fā)過程中需要自動更新的情況下,也要勾選上。

在Spring Boot項目啟動配置中,選擇下圖中的紅色框中的內容:uodate classes and resources on ‘update’ action

配置完成后,通過右上角的JR按鈕啟動SpringBoot項目。就可以實現改動代碼和資源的自動更新。

二、 devtools實現熱加載

這是一種對于SpringBoot而言比較常見的一種實現方式。

1.1.引入devtools的maven依賴

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

spring-boot-devtools從名稱就可以看出來,是開發(fā)者工具包,其主要的功能就是實現熱加載。

其實現原理就是兩個ClassLoader,一個負責加載那些不會經常改變的文件,比如:第三方jar包,一旦引入項目之后這部分代碼在調試過程中就處于不變的狀態(tài);一個負責加載可能經常改變的類,比如我們自己在項目中寫的代碼,被稱為restart ClassLoader。當有代碼發(fā)生改變的時候,重建一個restart ClassLoader,原有的restart ClassLoader被丟掉。由于每次重新加載的內容較少,所以速度比手動重啟更快一些。

1.2.設置IDEA

首先,運行時編譯配置:組合鍵:“Shift+Ctrl+Alt+/” ,選擇 “Registry” ,選中打勾 “compiler.automake.allow.when.app.running” 。

其次,自動化編譯配置: “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,選中打勾 “Make project automatically” 。這是一種重新自動化的編譯整體項目的方法。但是筆者一般不這么做,因為IDEA的文件是自動保存的,你想修改一個字符串,有可能你只修改完成第一個字符它就重新編譯了,重新加載啟動。所以,筆者一般代碼修改完成之后,使用Ctrl + F9快捷鍵對修改類重新編譯,而不是做項目的自動化編譯。

最后,在一些相對舊的IDEA版本上運行時配置,按如下圖形勾選。(新版本IDEA已經不需要了)

1.3 修改一下application.properties配置

在比較新的Spring Boot devtools版本中我們已經不需要做如下的配置了,但是如果你以上的步驟都完成了,仍然無法實現代碼更改之后的熱加載,請參考下面的方法。在有些版本我們需要配置熱加載生效的開關,使其值等于true。

下文是properties格式配置,喜歡yml格式的同學可以自行調整一下。默認情況下,支持熱加載的目錄如下,如果需要其它目錄下文件支持熱加載需要手動配置:

/META-INF/maven

/META-INF/resources

/resources

/static

/public

/templates
#熱加載生效
spring.devtools.restart.enabled=true
#額外新增的熱加載目錄
spring.devtools.restart.additional-paths= src/main/java
#熱加載排除目錄
#spring.devtools.restart.exclude= 

1.4.LiveReload插件

最后建議你去chrome 瀏覽器插件商店安裝一個插件叫做LiveReload。

Spring devtools默認會啟動一個 Live Reload Server實例,監(jiān)聽文件的變化。并實時的與瀏覽器插件通信,更新瀏覽器展示界面。這樣,你就不用每次更改內容之后都點擊瀏覽器刷新按鈕了。

1.5.最后測試一下

改一下代碼,看看會不會生效。通常不生效的原因有兩種:

  • JDK編譯版本和運行版本不統(tǒng)一,自行學習一下IDEA環(huán)境下JDK配置
  • 瀏覽器緩存或者其他的緩存軟件導致的問題

到此這篇關于spring boot教程之IDEA環(huán)境下的熱加載與熱部署的文章就介紹到這了,更多相關spring boot 熱加載與熱部署內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Javaweb會話跟蹤技術Cookie和Session的具體使用

    Javaweb會話跟蹤技術Cookie和Session的具體使用

    本文主要介紹了Javaweb會話跟蹤技術Cookie&Session的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • jmeter調試錯誤全集(入門必備)

    jmeter調試錯誤全集(入門必備)

    在使用jmeter做接口測試的過程中大家是不是經常會遇到很多問題,本文就介紹了jmeter調試錯誤全集,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • java秒殺系統(tǒng)常見問題庫存超賣解決實例分析

    java秒殺系統(tǒng)常見問題庫存超賣解決實例分析

    這篇文章主要為大家介紹了java秒殺系統(tǒng)常見問題庫存超賣解決實例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • SpringBoot配置Hikari數據庫連接池的詳細步驟

    SpringBoot配置Hikari數據庫連接池的詳細步驟

    Spring Boot是一個開源的Java框架,它簡化了基于Spring的應用程序的開發(fā)和部署,HikariCP是一個高性能的Java數據庫連接池,被廣泛應用于Java開發(fā)領域,它是目前最快和最輕量級的連接池之一,本文介紹了SpringBoot配置Hikari數據庫連接池的詳細步驟,需要的朋友可以參考下
    2024-08-08
  • Java練習題之實現平方根(sqrt)函數

    Java練習題之實現平方根(sqrt)函數

    這篇文章主要介紹了Java練習題之實現平方根(sqrt)函數的相關資料,平方根是一個數學概念,表示一個數的正平方根,文中通過代碼和圖文介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • springboot實現多文件上傳功能

    springboot實現多文件上傳功能

    這篇文章主要為大家詳細介紹了springboot實現多文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 基于springboot和redis實現單點登錄

    基于springboot和redis實現單點登錄

    這篇文章主要為大家詳細介紹了基于springboot和redis實現單點登錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Java JDK 1.8 lambda的用法詳解

    Java JDK 1.8 lambda的用法詳解

    這篇文章主要介紹了Java JDK 1.8 lambda的用法詳解,文中給大家提到了jdk 1.8 Lambda 表達式 遍歷數組的方法,需要的朋友可以參考下
    2019-09-09
  • Spring Cloud 2023 新特性支持同步網關

    Spring Cloud 2023 新特性支持同步網關

    這篇文章主要為大家介紹了Spring Cloud 2023 新特性支持同步網關講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • httpclient getPoolEntryBlocking連接池方法源碼解讀

    httpclient getPoolEntryBlocking連接池方法源碼解讀

    這篇文章主要為大家介紹了httpclient getPoolEntryBlocking連接池方法源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11

最新評論

宁城县| 汨罗市| 揭东县| 凤城市| 东光县| 甘洛县| 吉安市| 吐鲁番市| 五原县| 广州市| 湛江市| 金乡县| 永顺县| 泰来县| 连城县| 老河口市| 太白县| 青龙| 松原市| 尉犁县| 山丹县| 靖州| 浦东新区| 南漳县| 西安市| 宽城| 雷山县| 临湘市| 固镇县| 荥经县| 枣庄市| 勃利县| 怀宁县| 上饶市| 阿图什市| 鲁甸县| 中卫市| 那曲县| 历史| 莱芜市| 武川县|