09-springboot工程中的热部署实现。

代码隐修院
• 阅读 801

热部署简介

Spring Boot 开发者为Spring Boot项目中提供了一个热部署(spring-boot-devtools)模块,支持项目的热部署(修改了某些资源以后无需重启服务),以提高开发效率.其底层其实是借助了两个类加载器做了具体实现,一个类加载器加载不变class,一个类加载器加载可能变化类,以提供类的热部署性能.

热部署环境初始化

本次热部署的演示在IDEA开发中进行实现,其它工具可以自己通过搜索引擎进行学习。

IDEA 启动自动编译,如图所示:09-springboot工程中的热部署实现。
IDEA工具中启动注册窗口(按ctrl+shift+alt+/),如图所示:09-springboot工程中的热部署实现。
选择编译构建配置,如图所示:09-springboot工程中的热部署实现。

热部署在项目中应用

在需要热部署的项目或module中添加如下依赖:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <scope>runtime</scope>
</dependency>

依赖下载以后,可重启reload项目,然后当我们修改了src/main/java目录下的java文件或修改了src/main/resources目录下的配置文件时,默认都会重启你的web服务器,但是修改了测试类或html文件不会自动重启和部署。

总结(summary)

本小节对springboot工程中的热部署进行了分析和实现,可以idea工具中实践整个过程。

点赞
收藏
评论区
推荐文章
菜鸟阿都 菜鸟阿都
4年前
SpringBoot项目热部署
前言   此篇文章主要介绍两种springboot项目热部署的方式,方式一是通过引入devtool组件实现热部署,方式二是通过idea下载jrebel插件实现热部署,jrebel免费试用30天,但通过激活网站可获得jrebel激活序列码,阿都对两种方式都进行了测试,全部有效。一、devtool组件热部署实现原理:自动重启项目1.添加devtools依赖
Easter79 Easter79
3年前
springcloud按照jar运行时支持脚本热部署
springcloud按照可运行jar包部署时,如果直接将groovy打入jar则不支持热部署。需要将groovy放置到另一个git目录下编写,开发时使用linked目标放置到project中,部署是不打入jar中。借助microgitsync模块功能在启动时从git仓库中下载groovy脚本加载到springcloud应用中,同时还可以支持动
Easter79 Easter79
3年前
springBoot修改代码不需要重启
springboot每次修改代码都需要重启项目,进行热部署后就不需要每次修改代码都要重启项目了热部署:  需要在pom.xml里进行配置!(https://oscimg.oschina.net/oscnet/04898c1b8ee09c1372de92f5967d8e737eb.png)<dependency<groupI
Easter79 Easter79
3年前
springboot热部署实战
每次代码改动后都需要重新手动Run项目,心累,在网上找了下,发现SpringBoot提供了热部署的方案,改动代码后自动编译打包,现在将热部署的配置方法记下来:第一步:在pom.xml中添加依赖,导入springbootdevtools<dependency<groupIdorg.springframework
Stella981 Stella981
3年前
Spring Boot 开发应用热部署
springbootdevtools实现热部署想在SpringBoot中使用该功能非常简单,添加依赖:<!热部署模块<dependency<groupIdorg.springframework.boot</groupId
Stella981 Stella981
3年前
SpringBoot热部署与启动速度优化
SpringBoot热部署  默认情况下SpringBoot是不支持热部署的,所以当每次修改代码的时候,都需要重新启动服务器,这个是非常浪费时间的,所以可以在pom.xml文件里面导入以下依赖1<dependency2<groupIdorg.springframework.boot</groupId
Stella981 Stella981
3年前
Eclipse Spring Boot实现热部署
spring为开发者提供了一个名为springbootdevtools的模块来使SpringBoot应用支持热部署,提高开发者的开发效率,无需手动重启SpringBoot应用。devtools的原理深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更
Stella981 Stella981
3年前
JVM核心知识体系(转)
1.问题1、如何理解类文件结构布局?2、如何应用类加载器的工作原理进行将应用辗转腾挪?3、热部署与热替换有何区别,如何隔离类冲突?4、JVM如何管理内存,有何内存淘汰机制?5、JVM执行引擎的工作机制是什么?6、JVM调优应该遵循什么原则
Stella981 Stella981
3年前
IDEA中Spring boot配置热部署无效问题解决方式(转)
IDEA中Springboot配置热部署无效问题解决方式2018年01月31日20:30:59阅读数:1426该配置方式属于通过配置devtools实现热部署只要在pom文件中添加下面代码段即可<!热部署<dependency<groupIdo
Easter79 Easter79
3年前
SpringBoot热部署与启动速度优化
SpringBoot热部署  默认情况下SpringBoot是不支持热部署的,所以当每次修改代码的时候,都需要重新启动服务器,这个是非常浪费时间的,所以可以在pom.xml文件里面导入以下依赖1<dependency2<groupIdorg.springframework.boot</groupId
Stella981 Stella981
3年前
Spring Boot(十三):实现热部署
一、前言在实际开发过程中,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本。对于一个后端开发者来说,重启过程确实很难受。在java开发领域,热部署一直是一个难以解决的问题,目前的java虚拟机只能实现方法体的热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。!(htt