作者:小傅哥

博客:https://bugstack.cn

沉淀、分享、成长,让自己和他人都能有所收获!

一、承认你优秀很难

很多码农,把路走窄了

捧一个,喷一个,很多码农都不会多一点思路看问题,总是喜欢用矛和盾在显示自己有点本事。Github 你写文章说你不如做开源代码有价值,你写了开源代码说你这没有意义,那你问他贡献了啥,他只贡献了嘴。聊理论吹的叮当的,写代码搞的稀得囊的

  • 好在,你这一路上能遇到很多同好,他们能真诚的给你意见、提供思路、帮助解决,让你们一群有技术初心的人,不断的成长。
  • 这可能就是技术创作的土壤,如果大家都不施肥,反而还要过来用力的踩踩这块地,那最后大家都只能一起卷死在这,谁也不要创新。加油,我希望你可以和我一起做点事情

二、写了个什么插件

最近一个月多都在折腾关于 IDEA Plugin 插件开发的案例编写技术总结,在日常编码开发和折腾插件技术过程中发现一个痛点

日常编码的过程中有太多的 vo2dto 对象转换操作,尤其是在 DDD 架构下多了不少的防腐层,而这层之间的对象 po、vo、do、dto,总是需要被转换,而使用 BeanUtils 多了,以后增改字段名都不知道影响到哪。

当然也有不错的工具 MapStruct 既可以保证性能又有不错的效率,但它需要给每一个转换对象维护对应的转换类,对于接口层的转换还是非常适合的,但那些很小的方法块内,也是如此折腾就显得有些麻烦了。

所以,小傅哥结合 IDEA Plugin 插件开发的能力,通过鼠标定位到转换对象上,一键织入需要生成一堆的 x.set(y.get) 方法,并且在几次优化中以及可以支持父类对象、lombok插件。演示图如下:

  • 支持:复制一个对象,光标定位另外一个对象上,鼠标右键 Generate -> Vo2Dto 一键生成转换代码
  • 支持:不复制对象,直接在转换可以生成空的 set 对象,方便自由添加内容
  • 支持:插件中通过注解检测的方式,允许使用 lombok

三、发布插件的经历

原来不用英文描述,不给我过

1. 请用英语描述

  • 这是我第一次发布插件接收到的邮件提醒,告诉我在你的 plugin.xml 中,要用英语描述。一直没看,以为垃圾邮件

2. 请用英文截图

  • 告诉我,你的截图要用英语的,这样我才能给你通过。

3. 说我截图没用

  • 问我你确定需要这个截图吗,他觉得没啥意义

4. 终于发布出去

  • 改了注释、删了截图,终于迎来曙光。你说,不发布一次,你会知道遇到这些吗!

四、把这插件安排上

1. 安装插件

讲到这我就兴奋了!

为啥兴奋,因为这一个插件发布,我整整等了2周,因为一次修改就要2个工作日才能审核,所以上面我犯的错,都是用时间磨出来。

不过现在好了,你可以直接在 IDEA 中搜索安装小傅哥写的插件了,哈哈哈,这种没做过的事搞一次,总是让人很兴奋!

  • 看到能搜索到 vo2dto 并顺利安装使用,我的心舒服了。没有人能阻挡你最技术的热爱,即使你来我这踩两脚

2. 使用介绍

如图所示,你只需要很简单的步骤,既可以快速且准确的帮你生成对应的转换代码,在一些场景里使用还是非常 Good 的!操作步骤:

  • 复制对象 UserDto userDto 这个是被转换对象,复制后才能便于生成获取属性的代码。如果你不复制,那么就是生成空代码
  • 定位对象 User usxxer 把光标定位到对象或属性上,点击 Generate -> Vo2Dto 这样就可以把你的对象生成出来了。
  • 注意:支持 lombok、支持继承对象,如果你在使用过程中遇到其他需求或者问题,都可以反馈给我

3. 源码共享

  • 源码:https://github.com/fuzhengwei/vo2dto
  • 说明:有同好的技术人共建才会让一件小事不断的优秀起来,所以我把这块代码共享出来,我们可以一起做一个非常短小精致的产品,来帮助我们自己完成一些便捷的开发处理。

五、我确定挺倔强

有一种倔强可能也是天生的,我喜欢技术、喜欢折腾、喜欢简单干净的事情,并把我认准的事长久坚持下去。有时候我也知道另外一条路会更轻松、更有钱拿,但那并不是我的内心,只有我认识到的我才是我,否则强加给我的我,始终不会是我。

一款 IDEA 插件帮你优雅转化 DTO、VO、BO、PO、DO的更多相关文章

  1. 开发者常用的十款Chrome插件

    本文是稀土掘金投稿,虽然其中有倔金的私货,是篇推广文,但我看过后认为内容确实不错,有些好插件还是第一次知道,对我很有帮助,考虑过后还是决定推荐给大家,最近我比较关注各种提高开发效率的工具与技巧,今后看 ...

  2. Web 开发最有用的50款 jQuery 插件集锦——《综合篇》

    这篇文章是<Web 开发最有用的50款 jQuery 插件集锦>系列的最后一篇,整个系列向大家分享了在网站开发中非常有帮助的 50 款 jQuery 插件,这些插件按用途主要有以下类别:网 ...

  3. Web 开发最有用的50款 jQuery 插件集锦——《图片特效篇》

    <Web 开发最有用的50款 jQuery 插件集锦>系列文章向大家分享最具创新的50款 jQuery 插件,这些插件分成以下类别:网页布局插件,导航插件,表格插件,滑块和转盘插件,图表插 ...

  4. 推荐两款Xcode插件:KSImageNamed & ColorSense

    之前没怎么接触过Xcode插件,最近发现有人给Xcode做了一些方便编程的插件.今天就推荐两个我个人认为比较好的. 1.KSImageNamed 网站地址 KSImageNamed是一款方便填写图片文 ...

  5. 20款Notepad++插件下载和介绍

    转自:http://www.kuqin.com/developtool/20090628/59334.html Notepad++从3.4版本开始支持插件机制,让用户可选择的为本身已经优秀的Notep ...

  6. 推荐几个Mac插件帮你提升工作效率

    下面这篇文章是小编看到的很好的文章,分享给大家,小编前几天也整理了很多mac专题文章.更多专题,可关注[磨人的小妖精],查看我的文章,也可上[风云社区 SCOEE],查找和下载相关软件资源. (一)综 ...

  7. 推荐一款jQueryajax插件(Ajaxify jQuery )

    推荐一款jQueryajax插件(Ajaxify jQuery )       此插件相当强悍,但最后一个版本是在2008年,作者很久没更新了,我在寻找了好多关羽ajax的工具,没有发现比这个更灵活的 ...

  8. 推荐超实用的8款jQuery插件

    这里有8款超实用的jQuery插件供大家参考使用,除了jQuery特效的详细使用方法以外,我们还有在线演示和下载及教程,希望对大家有所帮助! 超棒的视差效果jQuery插件 - FractionSli ...

  9. 让开发部署提速 8 倍,我参与贡献这款 IDE 插件的全过程

    如何像参与开源那样,去参与一款 IDE 插件的设计? 作为一款 IDE 插件的使用者,我是否能决定下一个版本的功能? 自从产品经理银时小伙和他的开发小哥们在去年12月发布 Cloud Toolkit( ...

随机推荐

  1. jmeter元件,作用域与优先级

    jmeter元件,作用域与优先级 一.jmeter元件 1.配置元件:优先级最高 1.1 重点使用元件:csv数据文件设置.用户定义变量.计数器 2.取样器:根据不同协议来编写请求脚本的元件 2.1 ...

  2. Django安装+创建一个Django项目

    安装 选用pycharm    在终端输入命令:pip install django 安装完成后创建项目 1.在你想创建项目的目录下输入下面的代码 2.django-admin startprojec ...

  3. Linux 实现静态路由实验

    环境: 四台主机: A主机:eth0 NAT模式 R1主机:eth0 NAT模式,eth1 仅主机模式 R2主机:eth0 桥接模式,eth1仅主机模式 B主机:eth0 桥接模式 手动修改IP地址 ...

  4. 干货 | Nginx负载均衡原理及配置实例

    一个执着于技术的公众号 Nginx系列导读 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文件详解 理解正向代理与反向代理的区别 ...

  5. 深入HTTP请求流程

    1.HTTP协议介绍 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,它是从WEB服务器传输超文本标记语言(HTML)到 ...

  6. ELK 1.4 logstash各种插件

      kibana各种插件: 1.过虑插件 kv (1)KV插件:接收一个键值数据,按照指定分隔符解析为Logstash 事件中的数据结构,放到事件顶层.  常用字段:    • field_split ...

  7. 152-技巧-Power Query 快速合并文件夹中表格之自定义函数 TableXlsxCsv

    152-技巧-Power Query 快速合并文件夹中表格之自定义函数 TableXlsxCsv 附件下载地址:https://jiaopengzi.com/2602.html 一.背景 在我们使用 ...

  8. js颜色调试器

    1 /* ColorTestViewer 颜色调试器 2 3 attribute: 4 onchange: Function; //颜色改变回调; 默认null 5 6 //以下属性不建议直接修改 7 ...

  9. 「NOI2019」序列

    NKOJ卡常卡不过QAQ description 给两个A,B序列,让你分别在A,B中各选k个数,其中至少有L对下标相等. Solution 把问题转化为至多选n-K对下标不同的对. 配对问题就用费用 ...

  10. LC T668笔记 & 有关二分查找、第K小数、BFPRT算法

    LC T668笔记 [涉及知识:二分查找.第K小数.BFPRT算法] [以下内容仅为本人在做题学习中的所感所想,本人水平有限目前尚处学习阶段,如有错误及不妥之处还请各位大佬指正,请谅解,谢谢!] !! ...