1、需求分析:spring
編寫idea中編寫項目時,常常性改某幾行代碼就須要從新啓動項目,比較浪費時間,藉助idea的熱部署能夠實現代碼的熱部署
springboot
2、實現通過app
這邊能夠藉助spring-boot-devtools模塊進行配置,devtools會檢測代碼,並進行從新發布。devtools的實現原理是經過使用兩個maven
ClassLoader,一個用來加載一些第三方的代碼(如引入的一些jar包)。另外一個ClassCLoud會加載一些會更改的代碼,能夠稱ide
爲restart ClassLoader。在有代碼進行更改的時候,原來的restart ClassLoader會被清理,從新建立一個restart ClassLoader,spring-boot
因爲須要加載的類較少,因此經過devtools的重啓會比idea手動啓動要快。ui
配置:idea
須要對pom.xml文件中添加以下依賴spa
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional><!-- optional=true,依賴不會傳遞,該項目依賴devtools;以後依賴myboot項目的項目若是想要使用devtools,須要從新引入 --> <scope>true</scope> </dependency>
<build> <plugins> <!--springloaded 熱部署配置--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork><!--fork : 若是沒有該項配置,肯呢個devtools不會起做用,即應用不會restart --> </configuration> </plugin> </plugins> </build>
而後須要對idea進行配置才能真正實現,經過快捷鍵Ctrl+Alt+S打開設置3d
idea配置:
當咱們修改了Java類後,IDEA默認是不自動編譯的,而spring-boot-devtools又是監測classpath下的文件發生變化纔會重啓應用,因此需
要設置IDEA的自動編譯:
(1)File-Settings-Compiler-Build Project automatically
若是是最新版本的idea則在以下的配置中
而後快捷鍵Ctrl+Alt+Shift+/打開設置面板選擇Registry,找到key值爲compiler.automake.allow.when.app.running,而後選擇上關閉,重啓idea
就能夠了
3、其餘方式
實際上經過idea自帶的檢查更新也可使用,且設置簡單,只須要打開springboot項目運行配置裏面,設置爲檢測更新便可