什么是熱部署笼才?
? 熱部署就是當(dāng)應(yīng)用正在運(yùn)行時(shí)股冗,升級(jí)軟件就不需要重啟應(yīng)用档礁。就比如我們修改了代碼的某一部分秕衙,不需要再次啟動(dòng)程序迁央,等啟動(dòng)完畢后再到瀏覽器刷新怎顾。有了熱部署,我們只需啟動(dòng)一次程序漱贱,當(dāng)有了修改后槐雾,只需刷新就好。
認(rèn)識(shí)spring-boot-devtools
spring-boot-devtools是開發(fā)者服務(wù)的一個(gè)模塊幅狮,其中最重要的功能就是自動(dòng)應(yīng)用代碼更改到罪行的APP上去募强,原理是發(fā)現(xiàn)代碼更改后重新啟動(dòng)應(yīng)用,但是速度比停止后再啟動(dòng)要快崇摄。
其深層次原理是使用了兩個(gè)ClassLoader,一個(gè)Classloader加載那些不會(huì)改變的類(第三方j(luò)ar包)擎值,另一個(gè)ClassLoader加載會(huì)更改的類,稱為restart ClassLoader逐抑。這樣在有代碼更改時(shí)鸠儿,原來的restart ClassLoader被丟棄,重新創(chuàng)建一個(gè)restart ClassLoader厕氨。
使用教程
1进每、在項(xiàng)目中pom.xml中的plugin添加依賴
org.springframework.boot? ? ? ? ? ? spring-boot-devtools? ? ? ? ? ? true? ? ? ? ? ? true?
2、build節(jié)點(diǎn)
? ? ? ? ? ? <plugin>
? ? ? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? ? ? <artifactId>spring-boot-maven-plugin</artifactId>
? ? ? ? ? ? ? ? <configuration>