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

歡迎訪問 生活随笔!

生活随笔

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

javascript

idea修改代码后不重启项目_使用DevTool实现SpringBoot项目热部署

發布時間:2024/7/23 javascript 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 idea修改代码后不重启项目_使用DevTool实现SpringBoot项目热部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

最近在開發的時候,每次改動代碼都需要啟動項目,因為有的時候改動的服務比較多,所以重啟的次數也就比較多了,想著每次重啟等待也挺麻煩的,就打算使用DevTools工具實現項目的熱部署

熱部署是什么

大家都知道在項目開發過程中,常常會改動頁面數據或者修改數據結構,為了顯示改動效果,往往需要重啟應用查看改變效果,其實就是重新編譯生成了新的Class文件,這個文件里記錄著和代碼等對應的各種信息,然后Class文件將被虛擬機的ClassLoader加載。

而熱部署正是利用了這個特點,它監聽到如果有Class文件改動了,就會創建一個新的ClaassLoader進行加載該文件,經過一系列的過程,最終將結果呈現在我們眼前

類加載機制

Java中的類經過編譯器可以把代碼編譯為存儲字節碼的Class文件,該Class文件存儲了各種信息,最終要加載到虛擬機中運行使用。類加載機制(摘自《深入理解 Java 虛擬機》)虛擬機把描述類的數據從Class文件加載到內存中,并對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型。

添加依賴

org.springframework.bootspring-boot-devtoolstrue

DevTools的配置

#熱部署生效spring.devtools.restart.enabled: true#設置重啟的目錄spring.devtools.restart.additional-paths: src/main/java#classpath目錄下的WEB-INF文件夾內容修改不重啟spring.devtools.restart.exclude: WEB-INF/**

IDEA需要的配置

當我們修改了Java類后,IDEA默認是不自動編譯的,而spring-boot-devtools又是監測classpath下的文件發生變化才會重啟應用,所以需要設置IDEA的自動編譯:

  • File-Settings-Compiler-Build Project automatically
  • ctrl + shift + alt + /,選擇Registry,勾上 compiler.automake.allow.when.app.running

總結

以上是生活随笔為你收集整理的idea修改代码后不重启项目_使用DevTool实现SpringBoot项目热部署的全部內容,希望文章能夠幫你解決所遇到的問題。

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