Spring Boot 支持頁面與類文件的熱部署。github
spring-boot-devtools 最重要的功能就是熱部署。它會監聽 classpath 下的文件變更,而且會當即重啓應用。spring
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-devtools</artifactId>
- <optional>true</optional>
- </dependency>
值得注意的是,optional=true 表示依賴不會傳遞,換句話說,其餘依賴該項目的項目,若是想要使用 devtools,須要從新引入。緩存
若是,但願指定文件夾下的文件改變的時候,從新啓動 Spring Boot,咱們只要在 src/main/resources/application.properties 中配置信息。springboot
- spring.devtools.restart.additional-paths= # Additional paths to watch for changes.
Spring Loaded 實現熱部署
Spring Loaded 也能夠實現修改類文件的熱部署。微信
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>springloaded</artifactId>
- <version>1.2.6.RELEASE</version>
- </dependency>
- </dependencies>
- </plugin>
使用 mvn spring-boot:run 啓動項目。app
模板文件熱部署
在 Spring Boot,模板引擎的頁面默認是開啓緩存,若是修改頁面內容,刷新頁面是沒法獲取修改後的頁面內容,因此,若是咱們不須要模板引擎的緩存,能夠進行關閉。maven
- spring.freemarker.cache=false
- spring.thymeleaf.cache=false
- spring.velocity.cache=false
源代碼
相關示例完整代碼: springboot-actionspring-boot
(完)ui