SpringBoot通过配置devtools实现热部署

一.springloader和devtools的区别

SpringLoader DevTools 的区别:
SpringLoader SpringLoader 在部署项目时使用的是热部署的方式,只对后端java的claass文件起作用。太麻烦,了解即可
DevTools DevTools 在部署项目时使用的是重新部署的方式

二.pom配置

      <!-- DevTools 的坐标 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

三.开启自动配置功能 

3.1 开启自动配置功能

 1.Intellij IEDA 使用ctrl+shift+alt+/ 快捷键搜索Registry,选择搜索出来的第一个

3.2  在controller等后端代码进行修改

1.修改前:

2.修改后:

3.可以看到后台日志进行了重新启动:

 此时重新启动项目,重启idea,即可实现热部署,改动任意代码会立即生效,不用再每次重新启动项目  

3.3  application配置文件

修改之后:服务自动进行了重启,进行了热部署

3.4 在templates下进行页面的修改

1.修改前

修改成:

页面重新访问:通过不停的刷新,还是没有变动

总结: 

不被热部署的文件
         1、/META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates
         2、指定文件不进行热部署 spring.devtools.restart.exclude=static/**,public/**
         3、手工触发重启 spring.devtools.restart.trigger-file=trigger.txt
             改代码不重启,通过一个文本去控制

注意点:生产环境不要开启这个功能,如果用java -jar启动,springBoot是不会进行热部署的

3.5 解决热部署时可以访问静态文件

1.在配置文件中配置:

spring.devtools.restart.trigger-file=trigger.txt

2.在trigger.txt中配置

里面的值动态改变

version=4

3.修改前:

修改后:

修改trigger中version的版本:

可以看到访问网页:进行了热部署更新 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值