所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署

原理: 实用类加载器(classloader重新读取字节码文件到jvm内存)

如何纯手写一个热部署功能:

1、监听 class文件是否发生改变  版本号、修改时间  作对比

2、如果发生改变就用classloader进行重新读取

热部署要是用在生产环境,性能很差了。不安全!

热部署用在本地开发(eclipse idea)用来提高效率

Spring Boot使用 devtools做热部署

有些工具是有热部署的功能的

修改完代码---》然后按保存--》访问时候其实会重启

访问引发重启!

这样读到的都是新的:

package com.toov5.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import lombok.extern.slf4j.Slf4j;@RestController
@Slf4j
public class IndexController {@Value("${name}")private String name;@RequestMapping("/index")public String index() {String result = "修改啊来啊";log.info("result:{}", result);return result + name;}}

访问:

devtools修改的原因是 重启!

转载于:https://www.cnblogs.com/toov5/p/9822288.html

Spring Boot2.0之热部署原理相关推荐

  1. Mongodb网页管理工具,基于Spring Boot2.0,前端采用layerUI实现

    源码:https://github.com/a870439570/Mongodb-WeAdmin 项目介绍 Mongodb网页管理工具,基于Spring Boot2.0,前端采用layerUI实现. ...

  2. spring boot之 DevTools 热部署,修改代码立刻见效,快速重启

    IDEA新建sping boot选择  DevTools spring-boot-devtools 模块能够实现热部署,添加类  添加方法  修改配置文件  修改页面等 都能实现热部署     原理就 ...

  3. Spring Boot2.0+中,自定义配置类扩展springMVC的功能

    在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js.css等). @Configur ...

  4. Springboot热部署(热部署原理)和用IDEA开发需要的配置

    热部署原理 <dependency><groupId>org.springframework.boot</groupId><artifactId>spr ...

  5. Spring Boot idel 实现热部署

    1. 相信大家很多都会说Spring Boot 实现热部署 在POM 中加一个 spring-boot-devtools 就可以了,但是很多时候是不行的话,下面我就来 带大家Spring Boot 如 ...

  6. Spring Boot 开发环境热部署(HotSwap)详解

    前言 Spring Boot 提出了多项开箱即用的功能特性,但归根到底还是围绕简化应用的创建.开发.运行.开发环境下我们经常对项目代码进行变动,如果每次都重新启动应用会浪费我们大量时间,为此就产生了多 ...

  7. Spring Boot 五种热部署方式,极速开发就是生产力!

    欢迎关注方志朋的博客,回复"666"获面试宝典 模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的, ...

  8. 阿里原来是这么干的!Spring Boot 五种热部署方式

    作者:若离x 来源:my.oschina.net/ruoli/blog/1590148 1.模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面 ...

  9. 极速开发之Spring Boot五种热部署方式

    在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭模版引擎的缓存 ...

  10. Spring Boot 项目实现热部署

    方法一:devtools Pom.xml中直接添加依赖即可: <dependency><groupId>org.springframework.boot</groupId ...

最新文章

  1. php 手机唯一标示_Php获取移动设备唯一标识
  2. Mybatis的高级查询(包含一对一,一对多,多对多,resultMap的继承,分页插件pagehelper知识点)详细
  3. Sring AOP(简记)
  4. C1 WPF C1FlexGrid设置样式技巧:单元格设置背景色
  5. 边工作边刷题:70天一遍leetcode: day 51
  6. QLineEdit使用正则表达式小剖析
  7. 用VBA代码打开xls文件时,判断被打开的xls文件是否含VBA代码并禁止其运行
  8. BMS一体机 锂电池管理系统
  9. 6大常见家谱样本,尤其第4个,深受各大名门望族的喜爱!
  10. mysql relay log 查看_mysql relay log和binlog 小结
  11. 创建student-dissertation数据库
  12. libnet、libnids、libpcap轻松搭建Linux网络入侵检测系统
  13. pip install -U里面的-U是什么意思
  14. 分布式 和 集群 的区别
  15. Python爬虫入门(四):实战,爬取4399小游戏首页
  16. vscode C++编译和调试
  17. 揭秘郭台铭兄弟开店计划 苹果中国渠道裂变
  18. 虽然我不是做游戏的,闲的没事,emm,写了个扫雷小游戏(Android)
  19. python中and和or的区别-Python中and-or语法
  20. 定位教程5---移动相机

热门文章

  1. Delphi -- 农历算法
  2. Python的三种基本数据类型
  3. 2018-2019-1 20189218《Linux内核原理与分析》第二周作业
  4. MySQL主从介绍及配置
  5. netscreen MIP 问题
  6. new操作符内部原理(二) 及 delete和free
  7. 11_使用ehcache缓存进行商品分类展示优化
  8. CF985E Pencils and Boxes
  9. whoami 显示“我是谁”
  10. 智能卡检测控制系统检测m1这么操作_多联机制冷剂灌注操作方法