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热部署实现方式相关推荐

  1. SpringBoot: Unable to start LiveReload server(热部署问题已解决)

    问题背景 依旧是部署springcloud项目时出现的报错. 问题原因 1.多个项目开启导致热部署端口冲突 2.热部署依赖和其他引入依赖冲突 问题解决 在application.yml文件里修改热部署 ...

  2. springboot基于Elasticsearch6.x版本进行ES同义词、停用词(停止词)插件配置,远程词典热加载及数据库词典热加载总结,es停用词热更新,es同义词热更新

    前言:ES版本差异较大,建议跨版本的同学,可以先了解一下版本区别,建议不要跨版本使用插件或者进行项目调试. 本总结主要基于6.x版本的6.5.1(6.2.2实测可用),分词器为IK,下载地址:http ...

  3. SpringBoot:概述,注解,搭建,部署

    1,SpringBoot简介 1.1,SpringBoot概述 Spring框架非常优秀,然而它最大的问题在于"配置过多".基于Spring的企业级开发项目,需要大量的配置文件,S ...

  4. 第十六节 springboot 打包vue代码实现前后端统一部署

    svbadmin学习日志 本学习日志是使用Springboot和Vue来搭建的后台管理系统: 演示地址:http://118.31.68.110:8081/index.html 账号:root 密码: ...

  5. 从零开始部署Guns V4.0 (SpringBoot开源框架)教程

    开篇废话:Guns作为一个较新且流行的SpringBoot框架,对于那些已经接触过各种SSH,SSI,SH等传统的JAVAEE框架的老手们来说肯定是很快就能够成功部署和掌握的了,但也不免有许多新手想学 ...

  6. SpringBoot项目在eclipse中能运行,部署到服务器 nohup java -jar 方式运行就无法显示报错

    SpringBoot项目在eclipse中能运行,部署到服务器 nohup java -jar 方式运行就无法显示报错: *************************** APPLICATION ...

  7. K8s部署微服务(springboot+vue)

    文章目录 前言 一.使用到的K8s资源 1.1 Deployment 1.2 Service 二.Springboot基础服务部署 2.1 网关gateway 2.2 鉴权auth 2.3 文件fil ...

  8. SpringBoot | 第一章:第一个SpringBoot应用

    2019独角兽企业重金招聘Python工程师标准>>> SpringBoot | 第一章:第一个SpringBoot应用 springboot简单介绍 概述 随着动态语言的流行(Ru ...

  9. SpringBoot | 用 IDEA构建第一个SpringBoot工程

    SpringBoot | 用 IDEA构建第一个SpringBoot工程 本文链接:http://blog.battcn.com/2018/04/20/springboot/v2-introducin ...

  10. 服务器与虚拟机进行双机热备,基于虚拟机的双机热备高可靠协同办公系统

    摘 要 随着高校信息化的不断推进,各高校纷纷建立起协同办公系统,推行无纸化.网络化办公.协同办公系统一旦出现故障,将对学校的正常办公造成严重的影响.本文针对虚拟化环境下协同办公系统的高可靠运行问题,介 ...

最新文章

  1. MPB:中科院城环所杨军组-​​水体浮游植物采集与鉴定
  2. [置顶] Activity启动流程
  3. C++ Primer 5th笔记(chap 17 标准库特殊设施)随机数发生器种子( seed)
  4. 简单几步教你去除开机出现扫描硬盘!
  5. CPU 乱序执行验证
  6. How to check table locks
  7. 【资料下载】Python 第三讲——正则表达式爬取糗事百科数据...
  8. 为什么阿里工程师纷纷在内网晒代码?
  9. 到天宫做客(2017寒假培训测试压轴题)
  10. 【转】在无人值守程序(服务)中调用Microsoft Graph
  11. linux查看etl进程,常见ETL工具
  12. eclipse不能添加tomcat7的问题
  13. 最全JavaScript基础总结~建议收藏
  14. BZOJ4025 : 二分图
  15. 技术经理成长复盘-要懂一些项目管理的知识
  16. 苹果硅之后:PC市场会走向何方?
  17. dsp图像处理Prewitt算子边缘检测
  18. NFC模块PN532使用
  19. 一些俗语,不思八九,常想一二
  20. GO富集分析可视化——柱形图和棒棒糖图

热门文章

  1. Python 绘制遥感数字高程影像(DEM)
  2. NT_iOS笔记—判断iPhone6
  3. spring工作机制及原理
  4. 细胞膜杂化脂质体载紫杉醇/红细胞膜包被雷公藤甲素-红素仿生共载脂质体的研究制备
  5. windows10 扩容C盘空间
  6. 为陶崇园争取正义懒人包1.0
  7. 第2章第27节:英文排版技巧:大间距与大行距的应用 [PowerPoint精美幻灯片实战教程]
  8. 多媒体计算机设计原则,多媒体课件的设计原则
  9. 20个经典的Java应用
  10. HQChart使用教程11-如何把K线数据API替换成自己的API数据