BeanUtil最强搭档-BeanUtilsHelper,让 BeanUtil想用就用,随心所欲

561 阅读2分钟

愉快的某一天

某一天你接到一个重构任务,看着一大堆的 BeanUtil,你陷入了深思,点开 Git blame 却发现写下这段代码的同事却早已经离职,此时仿佛有了以下对话:

  • 为什么不用 MapStcurt ? 性能爆炸,高级优雅,大厂标准
    • BeanUtil 一行代码秒了
  • 为什么不手搓 GetterSetter ? 清晰明了,简单高效
    • BeanUtil 一行代码秒了
  • 为什么不加注释?这么多属性我怎么知道你在复制什么啊喂!
    • 凭本事用的 BeanUtil 凭什么加注释

让人又爱又恨的 BeanUtil 就是如此,只有写下他的人才会觉得心旷神怡,无比舒适,"我只是想早点下班而已,我有什么错?"

而接手他的人才会觉得血压飙升,看着黑盒的 copyProperties 方法,还得一一对比两个 Bean 的属性才知道发生了什么

所以说,我最讨厌两种人

  • 一种是用 BeanUtil 的 low 货
  • 一种是不让我用 BeanUtil 的 strong 哥

那么有没有什么办法解决上面的问题,让你看见 BeanUtil 不再脑淤血?

当然有, 他就是 BeanUtilsHelper

不装了,摊牌了,我开发了一款名为 BeanUtilsHelper 的 IDEA插件,已上架至 IDEA 插件市场

所以 BeanUtilsHelper 能做什么?

一键预览复制的差异,让 copyProperties 彻底裸奔

差异预览.png

一键生成 GetterSetter 代码,有手就行

没错你甚至可以用 BeanUtilsHelper 干掉 BeanUtil

生成GetterSetter.gif

一键生成复制的注释,让别人看着也清清爽爽,对你感恩戴德

插件演示.gif

静态检查有问题的属性复制,把 Bug 扼杀在编译期

静态检查-属性类型不一致.png

如何使用?

  1. IDEA 插件市场搜索 BeanUtilsHelper 下载安装
  2. 将光标放置在 BeanUtil.copyProperties 或 BeanUtils.copyProperties 方法上
  3. 唤起意图动作 ( ⌥ + Enter for Mac; Alt + Enter for Win/Linux ),选择 "BeanUtilHelper"的对应选项
  4. 回车生成注释或代码

插件地址: plugins.jetbrains.com/plugin/2380…

Github项目地址: github.com/GuangYiDing…

如果你觉得这个插件显著缓解你的高血压,可以给我一个 star~