自学内容网 自学内容网

idea插件开发的第五天-今天不写工具

介绍

今天介绍一款插件,可以帮你调用spring容器里面的方法,并且可以执行脚本

Demo说明

  • 本文基于maven项目开发,idea版本为2022.3以上,jdk为1.8
  • 本文在Tools插件之上进行开发
  • 本次demo将使用idea的一些组件优化

Tools插件说明

  • Tools插件是一个Idea插件,此插件提供统一Spi规范,极大的降低了idea插件的开发难度,并提供开发者模块,可以极大的为开发者开发此插件提供便利
  • Tools插件安装需要idea2022.3以上版本
  • 插件下载连接: https://download.csdn.net/download/qq_42413011/89702325
  • sdk下载连接: https://download.csdn.net/download/qq_42413011/89702330
  • pojo-serializer插件: https://gitee.com/myprofile/pojo-serializer

正文

安装

  1. 将插件下载,拖动到此面板,安装成功之后的效果
    在这里插入图片描述

  2. 安装成功之后会在此出现一个mark,点击此mark会打开call this method面板
    此mark会出现在静态函数和spring注解标识的类上
    在这里插入图片描述

  3. 点击mark,会打开右侧面板
    在这里插入图片描述

测试参数

  1. 启动项目
    在这里插入图片描述
  2. 点击test函数左侧mark图标
    在这里插入图片描述
  3. 参数设置值并点击运行
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Debug测试

在这里插入图片描述

前置脚本测试

编写完毕需要点击保存
在这里插入图片描述
函数脚本: 只作用在这个函数
全局脚本: 所有项目所有模块都会生效
项目脚本: 只在这个项目所有模块生效
模块脚本: 只在这个项目所选模块生效

点击运行,成功打印出来
在这里插入图片描述

后置脚本测试

在这里插入图片描述

打印方法执行时长

在这里插入图片描述
在这里插入图片描述

直接执行脚本

在这里插入图片描述
在这里插入图片描述

方法脚本参数说明

在这里插入图片描述

ctx.attributes: Map<String,Object> 脚本上下文缓存数据,前置脚本后置脚本都可以访问,同一个对象,使用场景,例如: 打印方法执行时长
ctx.parameterMap: Map<String,Object> key: 参数名 value: 参数值,可在前置脚本中覆盖对应的参数
ctx.parameterTypes: Map<String,Class<?>> key: 参数名 value: 参数类型,可在前置脚本中修改对应参数名的参数类型,会影响获取的方法
ctx.conversionService:org.springframework.core.convert.ConversionService
ctx.context: org.springframework.context.ApplicationContext
ctx.env: org.springframework.core.env.Environment
ctx.classname: 反射调用的实例类型,前置脚本修改会影响调用实例
ctx.methodName 反射调用的方法,前置脚本修改会影响调用方法
ctx.error 后置脚本可获取,如执行出现异常,此参数可以获得异常
ctx.result 后置脚本可获取,此参数为方法执行结果,修改后会影响返回结果,如解密场景,可在后置脚本对结果解密,返回正确内容

脚本参数说明

在这里插入图片描述

context: org.springframework.context.ApplicationContext

原文地址:https://blog.csdn.net/qq_42413011/article/details/142438452

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!