SpringBoot实现热部署

在实际开发过程中,每次修改后台代码就必须要重启来保证源代码或者配置文件的生效,特别是当下微服务开发火热,动不动同时启动多个微服务,debug一次耗时又费力,现在有了spring-boot-devtools启动器,能在SpringBoot的web开发中实现热部署,以下以IDEA为例其原理就是监听classpath路径下的文件变动,修改代码,立即重启。

欢迎大家访问 我的Hexo博客

配置

  1. IDEA中默认是不自动编译的,左上角打开setting设置Build project automatically自动编译功能
SpringBoot实现热部署_第1张图片
  1. ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running
SpringBoot实现热部署_第2张图片
  1. 打开pom.xml引入依赖

        
            org.springframework.boot
            spring-boot-devtools

            true
        

        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true 
                
            
        
    
  1. 启动项目,控制台确实显示devtools在监听classpath路径下的文件变动
  1. 修改UserController下的代码,发现console确实重启了项目,实现了热部署
SpringBoot实现热部署_第3张图片
SpringBoot实现热部署_第4张图片
  1. devtools也可以单独监控某个文件夹下的文件,如:
  devtools:
    restart:
      additional-paths: src/main/resources/templates/user
  1. 默认开启热部署,可打开配置文件设置spring.devtools.restart.enable为false关闭
spring:
  devtools:
    restart:
      # false: 热部署关闭
      enabled: false

你可能感兴趣的:(SpringBoot实现热部署)