`

springboot -devtools 实现热部署

阅读更多

       

              spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到

 

最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动还要更

 

快,更快指的不是节省出来的手工操作的时间。

 

其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个

 

ClassLoader加载会更改的类,称为  restart ClassLoader

 

,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需

 

要加载的类相比较少,所以实现了较快的重启时间(5秒以内)。

 

 

第一步:

 

   添加依赖包: 

<dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-devtools</artifactId>

            <optional>true</optional>

           <scope>true</scope>

</dependency>

 

第二步:

 

    添加spring-boot-maven-plugin:

 <build>

<plugins>

   <plugin>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-maven-plugin</artifactId>

           <configuration>

          <!--fork :  如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart -->

               <fork>true</fork>

           </configuration>

       </plugin>

</plugins>

   </build>

 

 

3.启动测试

 

 

补充:

 

  springboot-devtools实现热部署的原理:

             

          因为devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),注意:因

 

为其采用的虚拟机机制,该项重启是很快的。

 

  springboot-devtools的页面热加载配置

 

   在application.properties 配置文件中配置spring.thymeleaf.cache=false (这里注意不同的模板配置不一样)

 

 

  转载

 

        http://412887952-qq-com.iteye.com/

分享到:
评论

相关推荐

    IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法

    IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法 1. 添加devtools依赖项:在pom.xml文件中添加spring-boot-devtools依赖项,以便在IntelliJ IDEA中使用热部署功能。 知识点:spring-boot-devtools是...

    spring-boot-devtools实现热部署

    使用开人员,只需保存项目就可以重新启动项目,不用频繁的启动项目

    SpringBoot实现devtools实现热部署过程解析

    SpringBoot 实现 DevTools 热部署过程解析 SpringBoot 是一个流行的 Java 框架,为了提高开发效率和降低开发成本,SpringBoot 提供了 DevTools 依赖项,以实现热部署过程解析。下面将详细介绍 SpringBoot 实现 ...

    SpringBoot如何通过devtools实现热部署

    SpringBoot如何通过devtools实现热部署 SpringBoot是一款基于Java的开源框架,提供了许多实用的功能和配置项,其中之一就是热部署。在SpringBoot中,我们可以通过devtools实现热部署,避免每次修改代码后都需要...

    详解SpringBoot配置devtools实现热部署

    Spring Boot 配置 DevTools 实现热部署 Spring Boot 提供了一个名为 spring-boot-devtools 的模块来使 Spring Boot 应用支持热部署,提高开发者的开发效率,无需手动重启 Spring Boot 应用。下面将详细介绍 Spring ...

    SpringBoot项目如何实现热部署.pdf

    总的来说,SpringBoot项目实现热部署的关键在于引入`spring-boot-devtools`依赖,配置Maven插件以支持 fork 和资源添加,以及开启IDEA的自动构建和编译器实时编译功能。这样,开发者在编码过程中就能享受到即时反馈...

    Spring Boot集成spring-boot-devtools开发时实现热部署的方式

    本文将详细介绍如何集成 `spring-boot-devtools` 并实现热部署,同时也会提及一些实现热部署的其他方式以及集成时需要注意的事项。 **热部署是什么** 热部署是指在不中断应用运行的情况下,更新应用代码并使其生效...

    Springboot项目基于Devtools实现热部署步骤详解

    "Springboot项目基于Devtools实现热部署步骤详解" Spring Boot是一个基于Java的开源框架,旨在简化基于Spring的应用程序的开发和配置。Devtools是Spring Boot的一个插件,能够实现热部署功能,即在不需要重新启动...

    didispace-SpringBoot-Learning-master_java_

    8. **Spring Boot DevTools**:开发工具集,提供热部署、实时代码刷新、重启应用等功能,提升开发效率。 9. **WebFlux**:Spring 5引入的新特性,用于构建反应式Web应用,支持非阻塞I/O和流式处理。 10. **测试...

    SpringBoot Devtools实现项目热部署的方法示例

    SpringBoot Devtools实现项目热部署的方法示例 SpringBoot Devtools是SpringBoot框架中的一种开发工具,主要用来实现项目热部署,热部署可以大大提高开发效率,减少重复劳动。下面我们将详细介绍SpringBoot ...

    springboot-springloader

    2. **快速重启**:即使热部署无法完成,Spring DevTools也可以快速地重启应用,因为它是通过一个特殊的Spring Application Context实现的,重启速度比常规启动快很多。 3. **LiveReload**:当静态资源(如HTML、CSS...

    springboot-demo-源码.rar

    如果项目中包含了`spring-boot-devtools`,那么它可以提供热部署和实时刷新功能,提高开发效率。 7. **应用入口** 应用的入口通常是带有`@SpringBootApplication`注解的类,这个注解结合了`@Configuration`、`@...

    3、springboot--hello world

    - **DevTools**: 开发者工具,支持热部署,提高开发效率。 此外,Spring Boot与Spring框架的其他模块(如Spring Data、Spring Security等)无缝集成,方便开发复杂应用。对于后端开发,Spring Boot结合MyBatis或JPA...

    SpringBoot-Study--master.zip

    7. **Spring Boot DevTools**:为开发者提供了实时重载、热部署、错误报告等功能,加速开发流程。 在SpringBoot-Study--master中,你可能找到以下内容: 1. **源代码示例**:展示了如何创建SpringBoot项目,包括...

    springboot + devtools(热部署)实例教程

    本教程将通过实例详细介绍如何在Spring Boot项目中集成并使用DevTools实现热部署。 首先,让我们了解DevTools的工作原理。它采用了双类加载器机制,包括基础类加载器(Base Class Loader, BC)和重启类加载器...

    springboot-demo

    在开发阶段,使用`spring-boot-devtools`模块可以实现热部署,提升开发效率。另外,SpringBoot支持Actuator端点,提供健康检查、环境信息、指标监控等功能,方便应用管理和诊断。 6. **测试支持**:SpringBoot提供...

    springboot-01-helloworld.rar

    4. DevTools:开发者工具,包括热部署、重启应用等功能,提升开发效率。 "springboot-01-helloworld"项目虽然简单,但它覆盖了SpringBoot的基础使用流程,通过这个项目,我们可以了解到SpringBoot的核心概念和基本...

    springboot-dubbo登陆demo

    只需在pom.xml中引入`spring-boot-devtools`依赖,并在IDE中启用相关设置,即可实现热部署。 在"springboot-dubbo-demo"这个压缩包中,包含了完整的项目结构和配置文件,可以作为参考学习。通过阅读源代码,理解...

    解决SpringBoot使用devtools导致的类型转换异常问题

    在SpringBoot项目开发中,devtools是Spring官方提供的热部署工具,它可以实现项目运行时类文件的自动重载,从而提高开发效率。然而,在实际应用中,使用devtools可能会遇到类型转换异常(ClassCastException)的问题...

Global site tag (gtag.js) - Google Analytics