10.springboot热部署

目录

重启和重载

1.手动启动热部署

1.添加依赖

 2.激活热部署

 2.自动启动热部署

1.添加依赖

2.设置自动构建项目

 3.开启允许自动构建项目

4.热部署范围配置

默认不参与热部署的目录

 手动配置热部署的目录


重启和重载

        重启(Restart):用来加载自定义开发包,包含类、页面、配置文件等,加载位置restart类加载器。

        重载(ReLoad):用来加载jar包中的类,jar包中的类和配置文件由于不会发生变化,因此不管加载多少次,加载的内容不会发生变化。

        当springboot项目启动时,base类加载器执行,加载jar包中的信息后,restart类加载器执行,加载开发者制作的内容。当执行构建项目后,由于jar中的信息不会变化,因此base类加载器无需再次执行,所以仅仅运行restart类加载即可,也就是将开发者自己制作的内容重新加载就行了,这就完成了一次热部署的过程,也可以说热部署的过程实际上是重新加载restart类加载器中的信息。

        热部署相当于重启(Restart)过程,在大的项目环境下效果显著

1.手动启动热部署

1.添加依赖

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

 2.激活热部署

快捷键ctrl+f9

         就实现了springboot工程的热部署

 2.自动启动热部署

        自动热部署其实就是设计一个开关,打开这个开关后,IDE工具就可以自动热部署。因此这个操作和IDE工具有关,以下以idea为例设置idea中启动热部署。

1.添加依赖

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

2.设置自动构建项目

 打开【File】,选择【settings…】,在面板左侧的菜单中找到【Build,Execution,Deployment】

选择【Compile】选项,然后勾选【Build project automatically】,意思是自动构建项目。

 3.开启允许自动构建项目

使用快捷键【Ctrl】+【Alt】+【Shit】+【/】打开维护面板,选择第1项【Registry…】

 在选项中搜索comple,然后勾选对应项即可

 如果你的idea没有这个选项,则找到【Settings】,在面板左侧的菜单中找到【Advanced Settings】,勾选Allow auto-make to start................即可

 设置完成后,idea失去焦点5秒后启动重启(Restart)

4.热部署范围配置

默认不参与热部署的目录

  • /META-INF/maven

  • /META-INF/resources

  • /resources

  • /static

  • /public

  • /templates

 手动配置热部署的目录

        关闭热部署在application.yml文件中:

        关闭static文件夹和config文件夹的热部署

spring:
  devtools:
    restart:
      exclude: static/**,config/**

         强制关闭所有的热部署

spring:
  devtools:
    restart:
      enabled: true

        如果配置文件层级过多导致相符覆盖最终引起配置失效,可以提高配置的层级,在更高层级中配置关闭热部署。例如在引导类系统属性设置关闭热部署功能。 

@SpringBootApplication
public class Demo12SpringbootTaskApplication {

    public static void main(String[] args) {
        //强制关闭所有热部署
        System.setProperty("spring.devtools.restart.enabled","false");
        SpringApplication.run(Demo12SpringbootTaskApplication.class, args);
    }

}

 参考:https://blog.csdn.net/Learning_xzj/article/details/125432819

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值