避免重启应用,10倍提升本地研发效率

news2024/11/26 18:21:47

谁在消耗我们的开发时间?

  1. 修改一点代码要重启项目,每次都要浪费很多时间
  2. 进行方法调试时,要么需要Http请求,要么写个单元测试,非常烦

思考:有没有可能实现热部署+随意测试任何一个方法?

热部署

IDEA 插件 JRebel能解决该问题,该插件可以做到绝大部分的新增/修改代码热部署

安装

直接idea插件仓库安装

激活

步骤1:生成一个GUID,

  • Generate GUIDs online

步骤2: 根据反向代理服务器地址拼接激活地址

  • 服务器地址: Welcome to JetBrains License Server!:){GUID}

步骤3:完成激活

随心所欲测试

核心思想就是利用Spring上下文获取对应的bean,直接调用其中的方法

准备

  1. 安装 IDEA Arthas 插件:IDEA Plugin | arthas
  2. 项目中增加依赖 Arthas Spring Boot Starter:Arthas Spring Boot Starter | arthas ,担心安全问题的话可以只在本地开启,其他环境配置 spring.arthas.enabled = false
  3. 代码中提供获取 Spring ApplicationContext 的变量的方法,参考官方文档:arthas-plugin-demo/ApplicationContextProvider.java at master · WangJi92/arthas-plugin-demo · GitHub 并配置好插件获取 Spring Context 的路径:

起飞

使用 JRebel 的方式启动项目,启动后浏览器打开 Arthas 控制台 http://localhost:8563 ,在要调用的法上选择复制Static Spring Context Invoke Method Field

 随后到 Arthas 控制台粘贴即可

 修改代码继续测试

 可以下载一个Idea内置浏览器的插件Embedded web browser

 

参考:GitHub - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/384598.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源计划 - 用海量设备汇聚成一台巨型处理器的开源项目

巨型处理器特性1. 由各种能够联网的普通智能设备组成2. 模拟硬件3. 存储器即处理器4. 数据处理的匿名化在2016年的时候,曾经设想过一种处理器。运行在海量的浏览器之上,可用于处理大规模的GPS地理定位距离的运算。后来开始逐渐做了新的延伸,打…

SpringCloud之服务拆分和实现远程调用案例

服务拆分对单体架构项目来说:简单方便,高度耦合,扩展性差,适合小型项目。而对于分布式架构来说:低耦合,扩展性好,但架构复杂,难度大。微服务就是一种良好的分布式架构方案&#xff1…

Git-学习笔记01【Git简介及安装使用】

Java后端 学习路线 笔记汇总表【黑马-传智播客】Git-学习笔记01【Git简介及安装使用】Git-学习笔记02【Git连接远程仓库】Git-学习笔记03【Git分支】目录 01-git的历史 02-git和svn的对比 03-git的安装 04-向本地仓库中添加文件 05-修改文件内容并提交 06-删除本地仓库中…

SpringCloud全家桶— — 【1】eureka、ribbon、nacos、feign、gateway

SpringCloud全家桶— — 组件搭建 1 Eureka 1.1 Eureka-server 创建eureka-server的SpringBoot项目 ①导入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId…

【Python实战】2023关键词是小孩儿?某歌结婚生女一步到位,Hu歌官宣已婚产女后的W博,笑死哈哈哈哈(爬虫+数据可视化)

前言 办公室里很多喜欢Hu歌的小姑娘&#xff0c;听说他结婚了&#xff0c;而且孩子都生了&#xff0c;都非常惊讶。 就是我也是今天才知道的&#xff0c;哈哈哈哈&#xff08;交通闭塞了些&#xff09;&#x1f602;&#x1f602;。 所有文章完整的素材源码都在&#x1f447;…

Java常见知识点汇总

Java常见知识点汇总基础概念与常识1.Java 语言有哪些特点?2.JVM vs JDK vs JRE3.什么是字节码?采用字节码的好处是什么?4.为什么不全部使用 AOT 呢&#xff1f;5.为什么说 Java 语言“编译与解释并存”&#xff1f;6.Oracle JDK vs OpenJDK7.Java 和 C 的区别?基本语法1.注…

codeforces周赛div3#855记录

目录 总结 一&#xff0c;A. Is It a Cat? 二&#xff0c;B. Count the Number of Pairs 三&#xff0c;C1. Powering the Hero (easy version) 四&#xff0c;C2. Powering the Hero (hard version) 总结 真羡慕ACM校队的同学&#xff0c;能AC七八题&#xff0c;甚至ak …

飞天云动,站在下一个商业时代的门口

ChatGPT的爆火让AIGC再度成为热词&#xff0c;随之而来的是对其商业化的畅想——不是ChatGPT自身如何盈利&#xff0c;而是它乃至整个AIGC能给现在的商业环境带来多大改变。 这不由得令人想起另一个同样旨在改变世界的概念&#xff0c;元宇宙。不同的是&#xff0c;元宇宙更侧…

Apache Flink 1.16 功能解读

摘要&#xff1a;本文整理自阿里云高级开发工程师 Apache Flink Committer、Flink 1.16 Release Manager 黄兴勃&#xff08;断尘&#xff09;&#xff0c;在 FFA 2022 核心技术专场的分享。本篇内容主要分为四个部分&#xff1a;综述持续领先的流处理更稳定易用高性能的批处理…

传输线的物理基础(一):地、信号和均匀传输线

我们每天都听到用到传输线&#xff0c;那么什么是传输线呢&#xff1f;一条同轴线缆是传输线&#xff0c;多层PCB板中带参考平面的PCB走线是传输线&#xff0c;我们可以理解为&#xff0c;传输线由任意两个具有长度的导体组成。接下来我们会看到&#xff0c;一条传输线用来将信…

想象力训练

一、课程目的1、了解想象力2、想象力训练二、静态想象法常用在单一图片上&#xff0c;比如一辆自行车要点1、形象鲜明 (大脑中生动的展现它的样子)2、放大:一点点放大它(后续的课程讲解经常用到放大这个方法)3、缩小:一点一点缩小它4、变多:一个变两个&#xff0c;两个变三个&a…

C++---数字三角形模型---传纸条(每日一道算法2023.2.26)

注意事项&#xff1a; 本题dp思路与 “线性dp–方格取数” 一致&#xff0c;下方思路仅证明为什么使用方格取数的思路是正确的。 题目&#xff1a; 小渊和小轩是好朋友也是同班同学&#xff0c;他们在一起总有谈不完的话题。 一次素质拓展活动中&#xff0c;班上同学安排坐成…

安卓开发调试使用 Charles抓包Https请求

1、Windows电脑安装证书Help->SSL Proxying -> Install Charles Root Certificate2、手机安装证书证书保存到电脑上.crt结尾的文件Help->SSL Proxying -> Save Charles Root Certificate2.复制到手机上 3.安装证书以红米手机为例打开手机设置-->密码与安全-->…

php宝塔搭建部署实战多模板cms管理系统源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 本期给大家带来一套php开发的多模板cms管理系统源码。感兴趣的朋友可以自行下载学习。 技术架构 PHP7.0 nginx mysql5.7 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码&#xff0c;宝塔添加一…

在软件开发中如何将看板方法与 Scrum 集合使用?

什么是看板和 Scrum 的混合模式&#xff1f;适合在哪些场景使用&#xff1f;有哪些成功的案例可参考&#xff1f;本文将围绕以上问题展开。敏捷实践是一个团队过程&#xff0c;选择适合团队的敏捷框架时并没有什么技巧&#xff0c;无论您是使用看板方法、Scrum 还是两者的组合&…

【C++】vector的模拟实现(SGI版本)

吃不了自律的苦&#xff0c;又接受不了平庸的罪。想让自己变好&#xff0c;但又想舒服些。 你啊你……要么就不要去想&#xff0c;想了又不去做&#xff0c;犹犹豫豫&#xff0c;徘徊不前&#xff0c;患得患失… 文章目录一、四种构造函数1.vector的框架和无参构造2.构造函数调…

为什么FPGA在深度学习领域有着得天独厚的优势?

01 FPGA在深度学习领域有哪些优势 FPGA&#xff08;Field-Programmable Gate Array&#xff09;是一种灵活的可编程硬件设备&#xff0c;它在深度学习应用领域中具有许多优势。 首先&#xff0c;FPGA具有非常高的并行性。在深度学习中&#xff0c;许多计算都可以并行化&…

Verilog实现组合逻辑电路

在verilog 中可以实现的数字电路主要分为两类----组合逻辑电路和时序逻辑电路。组合逻辑电路比较简单&#xff0c;仅由基本逻辑门组成---如与门、或门和非门等。当电路的输入发生变化时&#xff0c;输出几乎&#xff08;信号在电路中传递时会有一小段延迟&#xff09;立即就发生…

sqlserver数据库备份策略及实战测试

文章目录启动SQL SERVER 代理服务配置完整备份差异备份和事务日志备份备份还原测试测试云端备份最近研究sqlserver数据库备份&#xff0c;这里吧测试过程总结分享&#xff01;sqlserver日志备份主要分为三种 &#xff1a;全量备份、差异备份、事务日志备份。全量备份&#xff1…

大话数据结构-线性表

1 定义 线性表是零个或多个数据元素的有限序列。 2 抽象数据类型 ADT 线性表(List)Data&#xff1a;线性表的数据对象集合为{al,a2,a3,....an}&#xff0c;每个元素的类型均为DataType。其中&#xff0c;除第一个元素a1外&#xff0c;每一个元素有且只有一个直接前驱元素&…