Spring Boot 揭秘与实战(八) 发布与部署 - 开发热部署

Spring Boot 支持页面与类文件的热部署。javascript

博客地址:blog.720ui.com/java

spring-boot-devtools 实现热部署

spring-boot-devtools 最重要的功能就是热部署。它会监听 classpath 下的文件变更,而且会当即重启应用。git

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>复制代码

值得注意的是,optional=true 表示依赖不会传递,换句话说,其余依赖该项目的项目,若是想要使用 devtools,须要从新引入。github

若是,但愿指定文件夹下的文件改变的时候,从新启动 Spring Boot,咱们只要在 src/main/resources/application.properties 中配置信息。spring

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 启动项目。springboot

模板文件热部署

在 Spring Boot,模板引擎的页面默认是开启缓存,若是修改页面内容,刷新页面是没法获取修改后的页面内容,因此,若是咱们不须要模板引擎的缓存,能够进行关闭。微信

spring.freemarker.cache=false
spring.thymeleaf.cache=false
spring.velocity.cache=false复制代码

源代码

相关示例完整代码: springboot-actionapp

(完)maven

更多精彩文章,尽在「服务端思惟」微信公众号!