熱部署
熱部署就是當(dāng)應(yīng)用程序正在運(yùn)行的時(shí)候升級(jí)軟件或修改某一部分代碼、配置文件時(shí),無需重新啟動(dòng)應(yīng)用,即可使升級(jí)的軟件和修改后的代碼、配置文件生效。
原理
使用兩個(gè)ClassLoader,一個(gè)Classloader加載那些不會(huì)改變的類(第三方j(luò)ar包),另一個(gè)ClassLoader加載會(huì)更改的類,稱為restartClassLoader。這樣在有代碼更改時(shí),原來的restartClassLoader被丟棄,重新創(chuàng)建一個(gè)restartClassLoader。
實(shí)現(xiàn)
springboot通過使用spring-boot-devtools依賴來實(shí)現(xiàn)熱部署。
spring-boot-devtools是開發(fā)者服務(wù)的一個(gè)模塊,其中最重要的功能就是自動(dòng)應(yīng)用代碼更改到罪行的APP上去,原理是發(fā)現(xiàn)代碼更改后重新啟動(dòng)應(yīng)用,但是速度比停止后再啟動(dòng)要快。
配置
pom.xml中添加依賴
<!--devtools熱部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
application.yml中配置devtools
#Spring配置
spring:
#服務(wù)模塊
devtools:
restart:
#熱部署開關(guān)
enabled:true
測(cè)試
啟動(dòng)項(xiàng)目
訪問
修改提示信息
重新訪問
如果解決了你的疑惑,請(qǐng)點(diǎn)點(diǎn)關(guān)注和評(píng)論,謝謝大家支持。
正春華枝俏,待秋實(shí)果茂,與君共勉。