在IDEA中开启springboot热部署

在pom.xml文件中添加如下依赖:

Spring Boot包含一组额外的工具,这些工具可以使应用程序开发体验更加愉快。 spring-boot-devtools模块可以包含在任何项目中,以提供开发时所需要的功能。如果要开启devtools支持,请将模块依赖项添加到您的构建中,如以下Maven清单所示:

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

热部署触发的时间:

  • 当classpath上的文件更改时

当DevTools监视类路径资源时,触发重启的唯一方法是更新类路径。导致类路径更新的方式取决于您使用的IDE。在Eclipse中,保存修改后的文件将导致类路径被更新并触发重新启动。在IntelliJ IDEA中,构建项目(Build +→+ Build Project)具有相同的效果。

  • IDEA中代码更新时不会马上重新编译所以也就不会出发热部署,可以使用ctrl+F9重新编译,或者设置下面两步:
  1. File-Settings-Compiler-Build Project automatically;
  2. ctrl + shift + alt + / ,选择Registry,勾上 Compiler autoMake allow when app running
    设置完成后当修改了代码,IDE失去窗口焦点时就会触发重新编译

热部署原理:

Spring Boot提供的重启技术通过使用两个类加载器来工作。不变的类(例如,来自第三方jar的类)将被加载到基本类加载器(base classloader)中。正在进行开发的代码将被加载到restart classloader中,热部署重启只会重新加载restart classloader,所以热部署重新加载比冷启动快得多


热部署监视资源的排除:
默认情况下,整个类路径下的资源(除了/META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates)都是被热部署监视的资源,可以通过在配置文件中配置spring.devtools.restart.exclude=路径来排除监视资源

如果要保留默认值并添加其他排除项,请改用spring.devtools.restart.additional-exclude属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值