Spring Boot2.0之热部署原理
所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署
原理: 实用类加载器(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之热部署原理相关推荐
- Mongodb网页管理工具,基于Spring Boot2.0,前端采用layerUI实现
源码:https://github.com/a870439570/Mongodb-WeAdmin 项目介绍 Mongodb网页管理工具,基于Spring Boot2.0,前端采用layerUI实现. ...
- spring boot之 DevTools 热部署,修改代码立刻见效,快速重启
IDEA新建sping boot选择 DevTools spring-boot-devtools 模块能够实现热部署,添加类 添加方法 修改配置文件 修改页面等 都能实现热部署 原理就 ...
- Spring Boot2.0+中,自定义配置类扩展springMVC的功能
在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js.css等). @Configur ...
- Springboot热部署(热部署原理)和用IDEA开发需要的配置
热部署原理 <dependency><groupId>org.springframework.boot</groupId><artifactId>spr ...
- Spring Boot idel 实现热部署
1. 相信大家很多都会说Spring Boot 实现热部署 在POM 中加一个 spring-boot-devtools 就可以了,但是很多时候是不行的话,下面我就来 带大家Spring Boot 如 ...
- Spring Boot 开发环境热部署(HotSwap)详解
前言 Spring Boot 提出了多项开箱即用的功能特性,但归根到底还是围绕简化应用的创建.开发.运行.开发环境下我们经常对项目代码进行变动,如果每次都重新启动应用会浪费我们大量时间,为此就产生了多 ...
- Spring Boot 五种热部署方式,极速开发就是生产力!
欢迎关注方志朋的博客,回复"666"获面试宝典 模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的, ...
- 阿里原来是这么干的!Spring Boot 五种热部署方式
作者:若离x 来源:my.oschina.net/ruoli/blog/1590148 1.模板热部署 在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面 ...
- 极速开发之Spring Boot五种热部署方式
在 Spring Boot 中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭模版引擎的缓存 ...
- Spring Boot 项目实现热部署
方法一:devtools Pom.xml中直接添加依赖即可: <dependency><groupId>org.springframework.boot</groupId ...
最新文章
- php 手机唯一标示_Php获取移动设备唯一标识
- Mybatis的高级查询(包含一对一,一对多,多对多,resultMap的继承,分页插件pagehelper知识点)详细
- Sring AOP(简记)
- C1 WPF C1FlexGrid设置样式技巧:单元格设置背景色
- 边工作边刷题:70天一遍leetcode: day 51
- QLineEdit使用正则表达式小剖析
- 用VBA代码打开xls文件时,判断被打开的xls文件是否含VBA代码并禁止其运行
- BMS一体机 锂电池管理系统
- 6大常见家谱样本,尤其第4个,深受各大名门望族的喜爱!
- mysql relay log 查看_mysql relay log和binlog 小结
- 创建student-dissertation数据库
- libnet、libnids、libpcap轻松搭建Linux网络入侵检测系统
- pip install -U里面的-U是什么意思
- 分布式 和 集群 的区别
- Python爬虫入门(四):实战,爬取4399小游戏首页
- vscode C++编译和调试
- 揭秘郭台铭兄弟开店计划 苹果中国渠道裂变
- 虽然我不是做游戏的,闲的没事,emm,写了个扫雷小游戏(Android)
- python中and和or的区别-Python中and-or语法
- 定位教程5---移动相机