问答详情
源自:5-2 交易模型管理--交易下单01

反复的Convert DO\VO\Model很浪费时间啊,不是一个好的方式

讲师的各种convert方法不是很冗余,为什么建个util,传递泛型进行转换?

T convertTFromPojo(Classclazz, Object pojoBean)

提问者:三狼戏獒 2019-02-23 16:50

个回答

  • 慕虎7362490
    2020-01-06 14:43:57

    一开始我也这么想,后来发现用泛型能解决简单的转换过程,如果转换过程不是简单的BeanUtils.copyProperties 需要拼接方式不一样就行不通了,可以看一下用户和用户密码,商品和商品库存,不是简单的复制

  • 野生的程序猿一只
    2019-06-09 19:14:32

    你那都反射起来了,更浪费系统资源

  • 三狼戏獒
    2019-03-14 22:43:25

    我说的是代码复用,问题跟分层没关系,分层本身就是需要的。N个方法的入参和出参拥有一致的逻辑,不该合并吗?

    public static <T> T convertTFromPojo(Class<T> clazz, Object pojoBean) {

    if (pojoBean == null) {


    return null;

    }

    try {

    T target = clazz.newInstance();

    BeanUtils.copyProperties(pojoBean, target);

    return target;

    } catch (Exception e) {

    logger.error("convertTFromPojo is error-->", e);

    }

    return null;

    }


  • 慕标1154530
    2019-03-06 10:52:45

      这个数据分层 在复杂的大型项目中是很必要的。 

  • 花灬大胖
    2019-02-23 22:47:37

    使用泛型不能保证每个属性的之间转换成功,包括包装类型。讲师使用的分层开发这样写便于后期维护,也提高安全性