小傅哥自研插件,为开发提效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工程,了解这套组件源码,对使用过程中所需的优化和扩展,提交你的代码。那么下次发版就会带上你的贡献了💐

相关推荐
马猴烧酒.7 分钟前
JAVA后端用户登录与鉴权详解
java·数据库·sql
乐之者v13 分钟前
软件开发常规流程的版本缩写
java
DN202015 分钟前
靠谱的AI销售机器人哪家好
java·人工智能·机器人
黎雁·泠崖20 分钟前
Java继承细节:子类继承父类成员的底层逻辑
java·开发语言
冷雨夜中漫步23 分钟前
Java中strip与trim()的区别
java·开发语言
heartbeat..28 分钟前
Redis 常用命令全解析:基础、进阶与场景化实战
java·数据库·redis·缓存
让我上个超影吧30 分钟前
天机学堂——多级缓存
java·spring boot·spring cloud
Yvonne爱编码43 分钟前
Java 接口学习核心难点深度解析
java·开发语言·python
带刺的坐椅44 分钟前
Solon AI Remote Skills:开启分布式技能的“感知”时代
java·llm·solon·mcp·skills
这周也會开心1 小时前
SSM 配置 index 页面的实现方式
java·tomcat·springmvc