Spring Boot (配置篇):devtools实现热部署

      初使用SpringBoot时候,是采用的Tomcat的Update class and resources,后来发现SpringBoot 有自带的 热部署工具。和Tomcat热部署类似,只要有修改代码(编译通过的)就会自动重新启动程序(Tomcat),以实现码代码的便捷,提高开发者的开发效率。

spring-boot-devtools简介:

        深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。

在pom.xml加入相关依赖:

设置步骤:

1)打开idea ,File->Settings-> Build-Execution-Deployment -> Compiler

当然,快捷键 Ctrl+Alt+S

勾选 Build(Make) Project Automatically

2)按 Shift+Ctrl+A (windows,mac是 command+shift+A)

将看到弹窗 Enter Action or option name,输入"registry",双击第一项"Registry..." ,会弹出另一个窗口,寻找

compiler.automake.allow.when.app.running

当然,快捷键 Ctrl+Shift+Alt+/

3)重启IDEA

我们启动项目,随便创建/修改一个文件并保存,会发现控制台打印 springboot 重新加载文件的信息。

演示图如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot 可以通过以下几种方式实现热部署: 1. 使用 Spring Boot DevToolsSpring Boot DevToolsSpring Boot 提供的一个开发工具,可以实现热部署。只需要在 pom.xml 文件中添加依赖,然后在 IDE 中启动应用程序即可。 2. 使用 JRebel:JRebel 是一款 Java 热部署工具,可以实现快速的代码更新和重新加载。Spring Boot 也可以使用 JRebel 实现热部署。 3. 使用 Spring Loaded:Spring Loaded 是一个 Java 类热部署器,可以在应用程序运行时重新加载类。Spring Boot 也可以使用 Spring Loaded 实现热部署。 4. 使用 Spring Boot 自带的热部署功能:Spring Boot 也提供了一些自带的热部署功能,可以通过在 application.properties 文件中添加配置来启用。例如,可以使用 spring.devtools.restart.enabled=true 来启用自动重启功能。 ### 回答2: Spring Boot是一个非常优秀的Java语言框架,它的出现极大地简化了Java相关开发者们进行项目的开发与部署。而其中的热部署功能也是Spring Boot非常优秀的一个特性,能够让我们达到快速开发、调试的目的。下面本文将介绍Spring Boot实现热部署的常用方式。 1. Spring Boot DevTools 通过引入Spring Boot DevTools这个依赖,它提供了众多的开发工具,其中包括了热部署功能,开启方式就是简单的添加以下配置在pom.xml中: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> ``` 2. Spring Loaded Spring Loaded是一个开源的热部署框架,可以让Java程序实现快速开发以及调试。需要在pom.xml中加入以下配置: ``` <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.5.RELEASE</version> <scope>provided</scope> </dependency> ``` 3. JRebel JRebel是一款非常知名的Java热部署工具,使用它可以避免进行多次重启,将提高开发效率。JRebel与Spring Boot配合使用时也非常方便,只需在pom.xml中添加相应的配置即可。 4. IntelliJ IDEA IntelliJ IDEA是一款非常优秀的Java开发工具,Spring Boot的项目几乎都是使用IDEA进行开发,其提供了内置的热部署功能,使用非常方便,在运行模式中选择HotSwap即可实现热部署。 综上可以发现,Spring Boot热部署方式还是比较多的,可以依据自己的需求进行选择。而其中最为常用的便是Spring Boot DevTools以及IDEA内置的热部署,这两种方式使用起来都非常方便,大大地提高了开发效率,降低了开发的成本。 ### 回答3: Spring Boot是一种快速构建应用程序的框架,它提供了很多便捷的功能来简化开发过程,其中之一就是热部署热部署能够让我们在修改代码后不必重启应用程序,而是可以自动更新应用程序。这样开发者就可以快速迭代、测试代码,提高开发效率,下面我们来看下Spring Boot有哪些方法可以实现热部署。 1.使用Spring-boot-devtools Spring Boot提供了一个名为spring-boot-devtools的开发工具包,它内部集成了热部署功能,只需要将它添加到项目的pom.xml文件中,就可以实现自动热部署。这个工具包会监控你的classpath下的文件改动,一旦检测到文件改动,就会自动重新加载应用程序。 2.使用JRebel插件 JRebel是一款优秀的Java热部署工具,它可以实现Java代码和资源的快速重载,删除了重复构建和重新部署应用程序的时间,可以在几秒钟内看到更改的结果。与Spring-boot-devtools不同的是,JRebel需要在IDE中安装相应的插件,在开发阶段使用较为方便。 3.使用springloaded Spring Boot原来的热部署方案是使用springloaded,在项目的pom.xml中引入依赖后,重启项目即可生效。然而Springloaded并不支持Java 8及更高版本的Java,因此已经成为不推荐使用的方式。 总结而言,以上三种方法是实现Spring Boot热部署的常用方式,可以根据自己的开发需求和环境选择适合的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值