SpringBoot在IDEA中使用devtools热部署配置

SpringBoot在IDEA中使用devtools热部署配置

1.spring-boot-devtools

spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用,通过spring-boot-devtools配置,可以支持修改java文件会自动重启程序,一些资源无需触发重启,例如thymeleaf模板文件就可以实时编辑。默认情况下,更改/META-INF/maven,/META-INF/resources ,/resources ,/static ,/public 或/templates下的资源不会触发重启,而是触发livereload。devtools模块包含一个嵌入的livereload服务器,可以在资源变化时用来触发浏览器刷新。浏览器需要在livereload.com下载安装扩展。 例如Chrome浏览器在应用商店安装livereload插件后,在要自动刷新的页面点击对应的图标,启动应用后更新页面内容或者css等都会触发页面自动刷新。

2.livereload的安装

livereload 通过引入的脚本livereload.js在 livereload 服务和浏览器之间建立了一个 WebSocket 连接。每当监测到文件的变动,livereload 服务就会向浏览器发送一个信号,浏览器收到信号后就刷新页面,实现了实时刷新的效果。每次启动时,需要点击对应的图标,如下图所示。

SpringBoot在IDEA中使用devtools热部署配置_第1张图片

下载livereload插件,将其安装到chrome扩展程序中,并选中允许访问文件网址。
SpringBoot在IDEA中使用devtools热部署配置_第2张图片

3.在maven中添加pom.xml依赖


               
                   org.springframework.boot
                   spring-boot-devtools
                   
            true
        

    

    
        

            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            
        
    

4. IDEA:File-Settings-Compiler-Build project automatically

SpringBoot在IDEA中使用devtools热部署配置_第3张图片

5.IDEA: ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running

SpringBoot在IDEA中使用devtools热部署配置_第4张图片

SpringBoot在IDEA中使用devtools热部署配置_第5张图片

6.application.yml 修改

devtools:
  livereload:
    enabled: true #是否支持livereload
  restart:
    enabled: true #是否支持热部署

注意:IDEA的话,热部署还不生效,那就手动进行:修改完代码,按快捷键Ctrl+F9,手动构建项目,或者只修改单个类文件的话,按Ctrl+Shift+F9,重新编译该类文件,即可触发重启服务。

你可能感兴趣的:(SpringBoot)