开发IDEA一个插件,但是这个插件的功能是个大杂烩吧,
主要完成以下几个功能,方便组内开发人员提高效率。
1 网关会传过来登录人员的 一些核心字段,公司编码/用户编号/主岗。
因为存在多租户,所以经常要切换任务,在测试HTTP请求的时候,无论你是用postman还是用其它的,在本地测试的时候,其实是需要http的头中加一些字段的。但是开发经常切换用户身份,比较麻烦,那就来一个管理的吧
分析了IDEA的插件体系,我最后决定在应用程序启用的时候可以配置用户信息,但是优先级低于用户HTTP请求的,即如果用户请求中有公司编码那就不会用你配置的,如果没有才取配置的。
界面如下(请忽略我界面做的丑)
2 有了这个配置界面之后,那数据从哪里配置呢,上面有个选择已有
我这个针对的是IDEA的 付费版,也就是可以用DB插件,于是我基于它的DB插件又开发了一个功能,添加上面这些信息
2 具体怎么实现呢,其实是通过字节码工具来进行了一拦截,相当于修改HTTP请求。
3 再加一个功能吧,方便把MYSQL的SQL给管理起来,而且方便各种DAO中跳转到源码。
主要支持mybatis/mybatis plus/JPA /spring data(hiberate)
界面做的丑,但是几个功能都实现了。
跳转源码主要是跳转到DAO的对应的方法,比如mybatis的接口定义处。因为这个算应用程序的入口 ,这个接口再进一步的相信大家都知道都是DAO的框架内部对这个接口做一个动态代理来操作的。
4 继续加功能,
这边的maven拉包的时候,因为特殊的破网络原因,经常拉不下来。拉不下来只好手工去删除本地的整个这个包所在的目录。
于是也做了这个功能