Spring Boot 揭祕與實戰(八) 發佈與部署 - 開發熱部署

文章目錄git

  1. 1. spring-boot-devtools 實現熱部署
  2. 2. Spring Loaded 實現熱部署
  3. 3. 模板文件熱部署
  4. 4. 源代碼

Spring Boot 支持頁面與類文件的熱部署。github

spring-boot-devtools 實現熱部署

spring-boot-devtools 最重要的功能就是熱部署。它會監聽 classpath 下的文件變更,而且會當即重啓應用。spring

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-devtools</artifactId>
  4. <optional>true</optional>
  5. </dependency>

值得注意的是,optional=true 表示依賴不會傳遞,換句話說,其餘依賴該項目的項目,若是想要使用 devtools,須要從新引入。緩存

若是,但願指定文件夾下的文件改變的時候,從新啓動 Spring Boot,咱們只要在 src/main/resources/application.properties 中配置信息。springboot

  1. spring.devtools.restart.additional-paths= # Additional paths to watch for changes.

Spring Loaded 實現熱部署

Spring Loaded 也能夠實現修改類文件的熱部署。微信

  1. <plugin>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-maven-plugin</artifactId>
  4. <dependencies>
  5. <dependency>
  6. <groupId>org.springframework</groupId>
  7. <artifactId>springloaded</artifactId>
  8. <version>1.2.6.RELEASE</version>
  9. </dependency>
  10. </dependencies>
  11. </plugin>

使用 mvn spring-boot:run 啓動項目。app

模板文件熱部署

在 Spring Boot,模板引擎的頁面默認是開啓緩存,若是修改頁面內容,刷新頁面是沒法獲取修改後的頁面內容,因此,若是咱們不須要模板引擎的緩存,能夠進行關閉。maven

  1. spring.freemarker.cache=false
  2. spring.thymeleaf.cache=false
  3. spring.velocity.cache=false

源代碼

相關示例完整代碼: springboot-actionspring-boot

(完)ui

 

微信公衆號
相關文章
相關標籤/搜索