springboot整合常用组件和服务【10】springboot热加载

  • Post author:
  • Post category:其他

springboot是微服务的前提,因而热部署是其必要的一个特性之一。本文将讲述springboot如何实现热部署。

1、环境约束

  • win10 64位操作系统
  • idea2018.1.5
  • maven-3.0.5
  • jdk-8u162-windows-x64

2、前提约束

  • 完成springboot创建web项目 https://www.jianshu.com/p/de979f53ad80
    注意:笔者创建项目的时候约束的包前缀是net.wanho.springboot.autoredeploy,读者可以自行创建包名,只是要注意本文中的代码也要修改包名。

3、修改pom.xml

加入以下依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <optional>true</optional>
</dependency>

加入以下插件

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
    </build>

4、修改application.properties

#热部署生效
spring.devtools.restart.enabled=true
#设置重启的目录
spring.devtools.restart.additional-paths=src/main/java,src/main/resources
#某些资源在更改时不一定需要触发重启
spring.devtools.restart.exclude=static/**

5、idea相关设置

  • CTRL+SHIFT+ALT+ / -> 选中 1.Registry…->选中 compile.automake.allow.when.app.running

     

  • File->Settings…->Compiler->选中 Build project Automatically

     

6、启动测试

  • 改变页面,没有重启日志,也能看到改变的效果
  • 在原来的一个controller类当中新增一个api,不用重启,也能访问到新增的api
  • 新增加一个controller类,在该类中新增一个api,不用重启,也能访问到新类中的api
    至此,我们完成了springboot中的热加载。

版权声明:本文为qq_41717874原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。