springboot热部署该怎么实现?springboot热部署实现方式
Spring家族博大精深,我之前讲过该如何搭建一个简单的springboot项目,这次我们就来深入探讨一下springboot,比如,你们知道springboot该如何搭建热部署吗?下面就来为大家讲解一下springboot该如何搭建热部署。
springboot热部署该怎么实现?
spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间。
其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(5秒以内)。
Springboot中搭建热部署三种方式
一、使用springloaded配置pom.xml文件,使用mvn spring-boot:run启动
在原来的pom.xml文件中添加如下配置
org.springframework.boot
spring-boot-maven-plugin
org.springframework
springloaded
1.2.6.RELEASE
注:是在spring-boot-maven-plugin中添加dependency
二、使用springloaded本地加载启动,配置jvm参数
-javaagent:-noverify
1.下载springloaded工具包到一个指定目录(我是直接使用的maven仓库地址)
2.在启动项目时,在jvm参数中输入命令
-javaagent:D:Maven
epositoryorgspringframeworkspringloaded1.2.6.RELEASEspringloaded-1.2.6.RELEASE.jar
-noverify
扩展: -javaagent:命令后面跟冒号,意思是在执行main方法之前执行特定代码
-noverify 关闭java字节码校验功能
三、使用devtools工具包部署,优点是操作简单,容易上手,缺点是每次都需要重新部署
在pom.xml中添加依赖
org.springframework.boot
spring-boot-devtools
true
添加完后直接启动就是,但是需要等项目加载完后才能查看结果,会很慢。
小结:
在开发测试环境建议使用第三种,即方便又快捷
但是在生产环境下,建议使用第二种,使用脚本启动,否则会十分繁琐
devtools的重启速度快,这个和其原理是有关系的,它监听了路径下的文件变动,重启的时候只是加载有变动的class,不重新加载第三方的jar包。如果有三方包的变化还是要手动重启加载的。
我整理了一些java技术资料和面试题集,供大家提升进阶,不管你是要入门学习还是想面试跳槽巩固基础,都可以免费领取一份。
下面展示部分截图,文末附免费下载方式。
第一篇:基础篇
第二篇:JVM 篇
第三篇:多线程 &并发篇
第四篇:Spring 篇
第五篇:MyBatis 篇
第六篇:Spring Boot 篇
第七篇:MySQL 篇
第八篇:Redis 篇
第九篇:Spring Cloud 篇
第十篇:Nginx 篇
第十一篇:MQ 篇
第十二篇:数据结构与算法篇
第十三篇:Linux 篇
第十四篇:简历篇
最后
整份文档一共有将近 200 页,为了不影响大家的阅读体验就只展示了部分内容,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!
需要的小伙伴点击下方名片,扫码免费领取。
springboot热部署该怎么实现?springboot热部署实现方式相关推荐
- SpringBoot: Unable to start LiveReload server(热部署问题已解决)
问题背景 依旧是部署springcloud项目时出现的报错. 问题原因 1.多个项目开启导致热部署端口冲突 2.热部署依赖和其他引入依赖冲突 问题解决 在application.yml文件里修改热部署 ...
- springboot基于Elasticsearch6.x版本进行ES同义词、停用词(停止词)插件配置,远程词典热加载及数据库词典热加载总结,es停用词热更新,es同义词热更新
前言:ES版本差异较大,建议跨版本的同学,可以先了解一下版本区别,建议不要跨版本使用插件或者进行项目调试. 本总结主要基于6.x版本的6.5.1(6.2.2实测可用),分词器为IK,下载地址:http ...
- SpringBoot:概述,注解,搭建,部署
1,SpringBoot简介 1.1,SpringBoot概述 Spring框架非常优秀,然而它最大的问题在于"配置过多".基于Spring的企业级开发项目,需要大量的配置文件,S ...
- 第十六节 springboot 打包vue代码实现前后端统一部署
svbadmin学习日志 本学习日志是使用Springboot和Vue来搭建的后台管理系统: 演示地址:http://118.31.68.110:8081/index.html 账号:root 密码: ...
- 从零开始部署Guns V4.0 (SpringBoot开源框架)教程
开篇废话:Guns作为一个较新且流行的SpringBoot框架,对于那些已经接触过各种SSH,SSI,SH等传统的JAVAEE框架的老手们来说肯定是很快就能够成功部署和掌握的了,但也不免有许多新手想学 ...
- SpringBoot项目在eclipse中能运行,部署到服务器 nohup java -jar 方式运行就无法显示报错
SpringBoot项目在eclipse中能运行,部署到服务器 nohup java -jar 方式运行就无法显示报错: *************************** APPLICATION ...
- K8s部署微服务(springboot+vue)
文章目录 前言 一.使用到的K8s资源 1.1 Deployment 1.2 Service 二.Springboot基础服务部署 2.1 网关gateway 2.2 鉴权auth 2.3 文件fil ...
- SpringBoot | 第一章:第一个SpringBoot应用
2019独角兽企业重金招聘Python工程师标准>>> SpringBoot | 第一章:第一个SpringBoot应用 springboot简单介绍 概述 随着动态语言的流行(Ru ...
- SpringBoot | 用 IDEA构建第一个SpringBoot工程
SpringBoot | 用 IDEA构建第一个SpringBoot工程 本文链接:http://blog.battcn.com/2018/04/20/springboot/v2-introducin ...
- 服务器与虚拟机进行双机热备,基于虚拟机的双机热备高可靠协同办公系统
摘 要 随着高校信息化的不断推进,各高校纷纷建立起协同办公系统,推行无纸化.网络化办公.协同办公系统一旦出现故障,将对学校的正常办公造成严重的影响.本文针对虚拟化环境下协同办公系统的高可靠运行问题,介 ...
最新文章
- MPB:中科院城环所杨军组-​​水体浮游植物采集与鉴定
- [置顶] Activity启动流程
- C++ Primer 5th笔记(chap 17 标准库特殊设施)随机数发生器种子( seed)
- 简单几步教你去除开机出现扫描硬盘!
- CPU 乱序执行验证
- How to check table locks
- 【资料下载】Python 第三讲——正则表达式爬取糗事百科数据...
- 为什么阿里工程师纷纷在内网晒代码?
- 到天宫做客(2017寒假培训测试压轴题)
- 【转】在无人值守程序(服务)中调用Microsoft Graph
- linux查看etl进程,常见ETL工具
- eclipse不能添加tomcat7的问题
- 最全JavaScript基础总结~建议收藏
- BZOJ4025 : 二分图
- 技术经理成长复盘-要懂一些项目管理的知识
- 苹果硅之后:PC市场会走向何方?
- dsp图像处理Prewitt算子边缘检测
- NFC模块PN532使用
- 一些俗语,不思八九,常想一二
- GO富集分析可视化——柱形图和棒棒糖图