spring-boot 热替换(hot swapping)

文档相关内容:https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html

pom中引入如下依赖:

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

注意事项:

Triggering a restart

As DevTools monitors classpath resources, the only way to trigger a restart is to update the classpath. The way in which you cause the classpath to be updated depends on the IDE that you are using. In Eclipse, saving a modified file causes the classpath to be updated and triggers a restart. In IntelliJ IDEA, building the project (Build -> Build Project) has the same effect.

在eclipse里保存代码会触发代码构件和tomcat的自动重启,在idea里代码是自动保存的,需要点击build->build project才能触发tomcat自动重启

添加例外

默认情况下,这些目录里的文件变更不会触发重启:

/META-INF/maven, /META-INF/resources, /resources, /static, /public, /templates

如果想修改这些默认设置:

spring.devtools.restart.exclude=static/**,public/**

如果想在默认设置上追加例外设置,使用如下属性:

spring.devtools.restart.additional-exclude

默认情况下,只有classpath下的文件变更才会触发重启,如果想增加额外目录,使用:

spring.devtools.restart.additional-paths

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hotswapping是指在应用程序运行过程中实时修改代码并应用到正在运行的应用程序中,而无需重新启动应用程序。对于Spring Boot应用程序来说,Hotswapping可以提高开发效率,加快代码调试和验证的速度。 Spring Boot支持两种方式的Hotswapping部署和重启。 部署是指在不重新启动应用程序的情况下,替换或添加部分代码。这可以通过使用工具如JRebel来实现。使用JRebel,当我们修改了Spring Boot项目中的代码后,只需要手动触发重新加载代码,应用程序会动态地将最新的代码应用到正在运行的应用程序中。这样我们就可以立即看到我们的更改效果,无需重新启动应用程序。 另一种方式是重启。在Spring Boot中,我们可以使用Spring Loaded或DevTools来实现。这些工具通过在运行时监测类文件的更改来实现重启。当我们修改了代码后,应用程序会自动重新启动,并将最新的代码重新加载到内存中。虽然这样会有一定的延迟和性能开销,但它是一种更加方便和自动化的方式。 无论是部署还是重启,Hotswapping都大大加快了开发过程中的代码调试和验证的速度。我们可以实时地修改和测试我们的代码,而无需重新启动整个应用程序。这样不仅提高了开发效率,还减少了等待和重复操作的时间,提高了开发人员的工作效率。同时,Hotswapping也适用于生产环境中的快速修复和调整,提高了应用程序的可维护性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值