小傅哥自研插件,为开发提效80%,已经有8.1k安装量!

作者:小傅哥

博客:https://bugstack.cn

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

哈喽,大家好我是技术UP主小傅哥。

如果你担心维护成本和性能考量,不想使用 BeanUtils.copyProperties 复制对象,也不想大面积的增加配置文件使用 MapStruct。而是只想要要手写效果的 x.set(y.get) 模型。那么请立刻在 IDEA 中安装插件 vo2dto v2.5.1 最新版本。截止到目前小傅哥开发的这款插件已经有 8.1k 安装量

IDEA Plugin vo2dto 是一款用于帮助使用 IntelliJ IDEA 编写代码的研发人员,快速生成两个对象转换过程中所需要大量的 x.set(y.get) 代码块的插件工具。在最新 v2.5.1 版本中已支持 Lombok.Builder 模式,让使用可丝滑得嘞!

文末提供了此插件的源码地址,你可以针对使用优化提交PR,以后那么多人的使用,都会看见你的贡献💐。

✨ 特性

  1. 2个对象的转换操作,通过复制 X x 对象,转换给 Y y 对象
  2. 允许使用 lombok 对象转换、lombok 和普通对象转换,对于 serialVersionUID 属性过滤
  3. 支持类继承类,全量的对象转换操作
  4. 含记忆功能的弹窗选择映射关系,支持全量对象、支持匹配对象、也支持空转换,生成一组set但无get的对象
  5. 支持对于引入不同包下的同名类处理
  6. 支持 Lombok.Builder 模式创建转换对象

🛠️ 安装

1. 在线安装

IDEA Plugin 搜索vo2dto直接在线安装即可

2. 手动安装

IDEA Plugin 手动安装,导入下载包

🔨 使用

  • 视频:https://www.bilibili.com/video/BV13Y411h7fv - 视频内有完整的使用介绍和插件设计
  • 描述:你需要复制被转换 X x = new X() 中的 X x 部分,无论它是方法入参还是实例化或者是接口回值,接下来鼠标定位到转换对象 Y y 上,可以定位到类 大Y、或者属性 小y,这样我就可以知道你要做到是X的对象的属性值,转换到Y对象的属性值上。接下来帮你快速生成全部的 y.set(x.get) 代码片段。
IDEA Plugin vo2dto 使用演示图
java 复制代码
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

public class ApiTest {

    /**
     * 普通模式
     */
    public void test_vo2dto01(UserVO user) {
        UserDTO userDTO = new UserDTO();
        userDTO.setUserId(user.getUserId());
        userDTO.setUserNickName(user.getUserNickName());
        userDTO.setUserHead(user.getUserHead());
    }
    /**
     * lombok Builder 模式
     */
    public void test_vo2dto02(UserVO user) {
        UserDTO userDTO = UserDTO.builder()
                .userId(user.getUserId())
                .userNickName(user.getUserNickName())
                .userHead(user.getUserHead())
                .build();
    }
    
    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    static class UserDTO {

        private String userId;
        private String userIdx;
        private String userNickName;
        private String userHead;
        private int page;
        private int rows;

    }

    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    static class UserVO {

        private Long id;
        private String userId;
        private String userNickName;
        private String userHead;
        private String userPassword;
        private Date createTime;
        private Date updateTime;

    }

}
  • 注意;v2.5.1 版本已支持了 Lombok Builder 模式,方便使用 Lombok 的伙伴创建对象。如图使用方式即可完成创建过程。

🤝 共建

源码https://github.com/fuzhengwei/vo2dto - 你可以Fork工程,了解这套组件源码,对使用过程中所需的优化和扩展,提交你的代码。那么下次发版就会带上你的贡献了💐

相关推荐
缺点内向3 小时前
Java:创建、读取或更新 Excel 文档
java·excel
带刺的坐椅3 小时前
Solon v3.4.7, v3.5.6, v3.6.1 发布(国产优秀应用开发框架)
java·spring·solon
四谎真好看5 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
桦说编程5 小时前
深入解析CompletableFuture源码实现(2)———双源输入
java·后端·源码
java_t_t5 小时前
ZIP工具类
java·zip
lang201509285 小时前
Spring Boot优雅关闭全解析
java·spring boot·后端
pengzhuofan6 小时前
第10章 Maven
java·maven
百锦再7 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
刘一说7 小时前
Spring Boot 启动慢?启动过程深度解析与优化策略
java·spring boot·后端
壹佰大多7 小时前
【spring如何扫描一个路径下被注解修饰的类】
java·后端·spring