首页 > 其他分享 >转vo

转vo

时间:2024-04-27 22:01:30浏览次数:12  
标签:return String vo address import com public

package com.example.util;



import com.alibaba.fastjson.JSON;
import com.example.commom.PO;
import com.example.commom.VO;
import org.springframework.beans.BeanUtils;
import java.util.*;

public class CommonsUtils {



    private static final Random random = new Random();









    public static VO toVO(PO po) {
        VO vo = ReflectUtils.newInstance(po.getVO());
        BeanUtils.copyProperties(po, vo);
        return vo;
    }


    public static List<VO> toVO(List<PO> poList) {
        List<VO> voList = null;
        if (null != poList && !poList.isEmpty()) {
            voList = new ArrayList<>();
            for (PO po : poList) {
                voList.add(toVO(po));
            }
        }
        return voList;
    }

    public static <T> T toPO(VO vo) {
        PO po = ReflectUtils.newInstance(vo.getPO());
        BeanUtils.copyProperties(vo, po);
        return (T) po;
    }

    public static <T> List<T> toPO(List<VO> voList) {
        List<T> poList = null;
        if (null != voList && !voList.isEmpty()) {
            voList = new ArrayList<>();
            for (VO vo : voList) {
                poList.add(toPO(vo));
            }
        }
        return poList;
    }


}
package com.example.util;



import org.springframework.util.Assert;
import org.springframework.util.StringUtils;

import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

public class ReflectUtils {



    public static <T> T newInstance(Class clazz) {
        Object value = null;
        try {
            value = clazz.getDeclaredConstructor().newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
        return (T) value;
    }



}
package com.example.commom;

public interface PO {
    Class getVO();
}


package com.example.commom;

public interface VO {
    Class getPO();
}
package com.example.vo;

import com.example.commom.VO;
import com.example.po.AccountPO;

public class AccountVO implements VO {

    private String name;

    private String password;

    private Address address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public static class Address{

        String address;

        String code ;

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    @Override
    public Class getPO() {
        return AccountPO.class;
    }
}
package com.example.po;

import com.example.commom.PO;
import com.example.vo.AccountVO;

import java.io.Serializable;

public class AccountPO implements PO, Serializable {
    private String name;

    private String password;

    private Address address;

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public static class Address{

        String address;

        String code ;

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }


    @Override
    public Class getVO() {
        return AccountVO.class;
    }
}

 

标签:return,String,vo,address,import,com,public
From: https://www.cnblogs.com/wscp/p/18162629

相关文章

  • voc数据集转换成coco数据集
    前言作为本系列第一篇文章,我分享一个模型训练过程中常用到的工具,voc数据集转coco数据集。在我做一些算法学习的时候,需要将voc数据集转coco放到yolo当中训练,但是在网上找了很多个都不是很好用,要不是会报错,要不是根本不能跑起来。为了节省在学习算法小伙伴的时间,我分享我在工作常......
  • EDevourer风险分析报告及典型用户
    1.风险分析人:客户/用户反馈多样性:由于用户群体可能包括不同年龄段、英语水平和游戏喜好的人群,因此他们的反馈可能多样化,需要花费更多精力去理解和整合这些反馈。团队成员经验和技能:团队成员在游戏开发的时侯有可能会遇到许多bug或者遇到设想的功能无法实现,可能导致开发过程中......
  • Fast Training Algorithms for Deep Convolutional Fuzzy Systems With Application t
    类似深度卷积神经网络DCNN,模糊系统领域有个深度卷积模糊系统deepconvolutionalfuzzysystem(DCFS),每一层都是一个模糊系统,上一层的输出是下一层的输入。这篇论文目的是加速DCFS的计算速度,解决可解释性1990年提出,也用反向传播训练DCFS受困于低维度小数据集,大数据量时计算负担太......
  • Java并发01---JMM模型、Volatile、CAS操作、自旋锁、ABA问题
    @目录JMM(JavaMemoryModel)Volatile修饰CAS(CompareAndSwap)ABA问题JMM(JavaMemoryModel)首先要明确的是JMM与JVM内存结构不是同一个概念,记的时候不要记混。我们先来回顾一下JVM内存结构,其包括了堆、方法区、虚拟机栈、程序计数器、本地方法区,其中前二者为线程共享,后三者为线程......
  • The "TypeScript Vue Plugin (Volar)" extension is no longer needed since v2. Plea
    这个报错信息表明你正在使用的是VisualStudioCode或者其他支持Volar的编辑器,而Volar是一个为Vue3应用提供TypeScript支持的工具。这个报错指出自从Volar版本2开始,"TypeScriptVue插件(Volar)"这个扩展就不再需要了。解决方法:如果你在使用的是VisualStudioCode编辑器,并且安装......
  • 马斯克的 xAI 融资 60 亿美元;英伟达收购两家 AI 创企丨 RTE 开发者日报 Vol.193
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • DevOps到底是什么?DevOps能够给我们带来什么
    DevOps到底是什么?DevOps能够给我们带来什么一、DevOps的定义是什么?DevOps是开发(Dev)和运营(Ops)的复合词,它将人、流程和技术结合起来,不断地为客户提供价值。DevOps对团队意味着什么?DevOps使以前孤立的角色(开发、IT运营、质量工程和安全)可以协调和协作,以生产更好、......
  • Devops基本概念和原理,什么是 DevOps? DevOps 介绍
    Devops基本概念和原理,什么是DevOps?DevOps介绍一、什么是DevOps1、DevOps概述DevOps,即DevelopmentandOperations,是一组过程、方法与系统的统称,用于促进软件开发、运维和质量保障部门之间的沟通、协作与整合。DevOps的出现是由于软件行业日益清晰的认识到:为了按时交付......
  • 使用docker部署livox_camera_calib环境
    ROS系统安装使用fishros的一键安装脚本,选择ros1的kinetic版本。具体安装以及连接容器过程可查看视频Docker版ROS安装。注意:启动容器时应从命令行启动,不要在vscode中连接容器。否则在启动rviz时,程序会找不到显示输出设备,rviz会直接die。环境配置安装完Docker版本ROS后需要的再......
  • mountvol命令是Windows操作系统中的一个命令行工具,用于管理卷挂载点和卷名称。通过mou
    mountvol|MicrosoftLearnmountvol命令是Windows操作系统中的一个命令行工具,用于管理卷挂载点和卷名称。通过mountvol命令,用户可以查看当前系统中的卷挂载点信息、创建新的卷挂载点、删除已存在的卷挂载点等操作。具体来说,mountvol命令的主要功能包括:列出卷挂载点:通过......