Spring Boot :熱部署
概述
- 開發過程中常常會改動程式碼,為了檢視修改每次都需要重新編譯程式碼執行伺服器,這樣很影響開發效率
- 應用啟動後會把編譯好的Class檔案載入的虛擬機器中,正常情況下在專案修改了原始檔是需要全部重新編譯並重新載入(需要重啟應用)。而熱部署就是監聽Class檔案的變動,只把發生修改的Class重新載入,而不需要重啟應用,使得開發變得簡便
Spring Boot 實現熱部署
方式一(Maven 外掛 springloaded)
在 spring-boot-maven-plugin 外掛中新增 springloaded 依賴
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
通過 mvn spring-boot:run 啟動應用(直接執行應用無效),修改 controller 中程式碼後結果會跟著變化
- 該方式只對 mvn spring-boot:run 這種方式啟動應用有效,而對直接執行Application.java啟動應用無效
- 如果使用 Thymeleaf 模板引擎,則需要把模板預設快取設定為 false
spring.thymeleaf.cache=false
方式二(依賴 spring-boot-devtools 熱部署模組)
新增依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
修改 controller 程式碼後結果會跟著變化
IDEA 配置
配置項一
配置項二
相關文章
- Spring Boot整合熱部署框架Spring Boot熱部署框架
- 8.Spring Boot 打包與熱部署Spring Boot熱部署
- spring boot: 熱部署(一) run as – java application (spring-loader-1.2.4.RELEASE.jar)Spring Boot熱部署JavaAPPJAR
- 極速開發之Spring Boot五種熱部署方式Spring Boot熱部署
- Spring Boot 2.0(四):使用 Docker 部署 Spring BootSpring BootDocker
- Spring Boot(十二):Spring Boot 如何測試打包部署Spring Boot
- 使用 Docker 部署 Spring BootDockerSpring Boot
- Jenkins自動部署spring bootJenkinsSpring Boot
- 阿里原來是這麼幹的!Spring Boot 五種熱部署方式阿里Spring Boot熱部署
- 使用 Docker 部署 Spring Boot 專案DockerSpring Boot
- 使用Docker部署Spring Boot專案DockerSpring Boot
- Spring Boot的五種部署方式Spring Boot
- 如何預熱Spring Boot應用? - sebsteinSpring Boot
- Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 開源軟體雲收藏Spring BootDocker
- Kubernetes中部署Spring Boot專案(七)Spring Boot
- 在Docker中部署Spring Boot專案DockerSpring Boot
- Spring Boot 2.0(四):使用 Docker 部署 SprSpring BootDocker
- Docker 之 Spring Boot 自動化部署DockerSpring Boot
- Spring Boot專案部署到外部TomcatSpring BootTomcat
- Linux雲服務部署Spring boot專案LinuxSpring Boot
- 使用 Docker 部署 Spring Boot 專案,帶勁!!DockerSpring Boot
- 使用SDM快速部署Spring Boot應用到KubernetesSpring Boot
- Spring Boot:Spring Boot配置SwaggerSpring BootSwagger
- Spring Boot:Spring Boot配置MybatisSpring BootMyBatis
- Spring Boot Serverless 實戰系列“部署篇” | Mall 應用Spring BootServer
- 基於Jenkins自動化部署spring boot專案JenkinsSpring Boot
- spring-boot專案的docker整合化部署(一)SpringbootDocker
- Spring Boot (二)整合Jsp與生產環境部署Spring BootJS
- 在GraalVM中部署執行Spring Boot應用 - Indrek OtsLVMSpring Boot
- Spring Boot 整合 Fisco Bcos(部署、呼叫區塊鏈合約)Spring Boot區塊鏈
- Spring Boot專案微信雲託管入門部署Spring Boot
- 把spring-boot專案部署到tomcat中的方法SpringbootTomcat
- spring、spring MVC、spring BootMVCSpring Boot
- Spring Boot系列十九 Spring boot整合 swaggerSpring BootSwagger
- Spring Boot 參考指南(Spring Boot文件)Spring Boot
- Spring Boot 2.0(八):Spring Boot 整合 MemcachedSpring Boot
- Spring Boot —— Spring SecuritySpring Boot
- Spring BootSpring Boot
- Spring Boot 如何熱載入 jar 實現動態外掛?Spring BootJAR