一篇文章带你搞定SpringBoot中的热部署devtools方法
一、前期配置
创建项目时,需要加入 DevTools 依赖

二、测试使用
(1)建立 HelloController
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello devtools";
}
}

对其进行修改:然后不用重新运行,重新构建即可:只加载变化的类

三、热部署的原理
Spring Boot 中热部署最最关键的原理就是两个不同的 classloader:
- base classloader
- restart classloader
其中 base classloader 用来加载那些不会变化的类,例如各种第三方依赖,而 restart classloader 则用来加载那些会发生变化的类,例如你自己写的代码。
Spring Boot 中热部署的原理就是当代码发生变化时,base classloader 不变,而 restart classloader 则会被废弃,被另一个新的 restart classloader 代替。在整个过程中,因为只重新加载了变化的类,所以启动速度要被重启快。
需要注意,使用devtools,默认情况下当静态资源发生变化时,并不会触发项目重启
到此这篇关于一篇文章带你搞定SpringBoot中的热部署devtools方法的文章就介绍到这了,更多相关SpringBoot 热部署devtools内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
详解SpringBoot配置devtools实现热部署
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtools的原理 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个r
-
Springboot项目基于Devtools实现热部署步骤详解
1.在pom.xml(如果是多模块,则此pom根据需要可设为具体模块)文件中添加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</option
-
spring boot devtools在Idea中实现热部署方法
1 pom.xml文件 注:热部署功能spring-boot-1.3开始有的 <!--添加依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!-- optional=true,依赖不会传递,该项目依赖devtools:之后依赖myboot项目的项目如果想要使用d
-
SpringBoot实现devtools实现热部署过程解析
1.修改pom.xml文件 <project> <dependencies> <!-- 使用devtool热部署插件(推荐) --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional>
-
springboot + devtools(热部署)实例教程
技术介绍 devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件.属性文件.页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现这个启动比较慢,可以选择使用jrebel) 双类加载器机制:boot使用了两个类加载器来实现重启(restart)机制:base类加载器(简称bc)+restart类加载器(简称rc). bc:用于加载不会改变的jar(eg.第三方依赖的jar) rc:用于加载我们正在开发的jar(eg.整个项目里
-
Spring Boot 配置 IDEA和DevTools 热部署的方法
MAVEN 配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/
-
SpringBoot Devtools实现项目热部署的方法示例
我们在开发SpringBoot项目的时候,有些时候修改了一些Controller或者Service等组件,那么每次修改都需要去重启服务,这样的话严重的导致我们的开发效率降低,那么SpringBoot为我们提供了该问题的解决方案,那就是进行热部署,我们热部署使用到的组件是devtools. 修改pom文件增加maven的devtools依赖 <!-- 引入热部署依赖 --> <dependency> <groupId>org.springframework.boot<
-
SpringBoot如何通过devtools实现热部署
这篇文章主要介绍了SpringBoot如何通过devtools实现热部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在项目的pom.xml文件添加如下两段 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <version>1
-
Spring Boot集成spring-boot-devtools开发时实现热部署的方式
热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件将被虚拟机的ClassLoader加载. 而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前. 类加载机制 Java中的类经过编译器可以把代码编译为存储字节码的C
-
SpringBoot2.X Devtools热部署实现解析
pom文件引入所需jar包 springboot版本采用2.3.1 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target&g
随机推荐
- Flex 事件分发(FlexViewer事件机制)剥离过程
- 详解Centos6.5 Openvpn的安装与配置
- Javascrip实现文字跳动特效
- python复制文件代码实现
- 浅谈python字典多键值及重复键值的使用
- ASP中实现分页显示的七种方法
- PHP 开发环境配置(Zend Server安装)
- CSDN上快速结贴的方法,JS实现
- 在ASP中连接MySQL数据库,最好的通过ODBC方法
- document.compatMode的CSS1compat使用介绍
- 事件冒泡是什么如何用jquery阻止事件冒泡
- jQuery$命名冲突怎么办如何解决
- jQuery之简单的表单验证实例
- 解决Photoshop CS3在Win 2003下无法安装的解决方法
- 教你一招用U盘破除管理员密码的方法
- 一些优化Nginx服务器的技巧简介
- 解决Android Studio 3.0 butterknife:7.0.1配置的问题
- python 批量修改 labelImg 生成的xml文件的方法
- Unity实现跑马灯抽奖效果
- C++ opencv实现的把蓝底照片转化为白底照片功能完整示例
