1. package com.xxx.common.util;
  2.  
  3. import java.lang.reflect.Field;
  4. import java.lang.reflect.Method;
  5. import java.util.*;
  6.  
  7. /**
  8. * 测试某些非空数据使用
  9. * @author xw
  10. */
  11. public class MockUtil {
  12. private static double curD = 100.1;
  13.  
  14. private static float curF = 10000.2f;
  15.  
  16. private static int curInt = 1;
  17.  
  18. private static long curL = 1000;
  19.  
  20. private static int curS = 1;
  21.  
  22. private static String[] rs = new String[] { "A", "C", "D", "E", "F", "J", "H", "I", "K", "L", "M", "N", "O", "P", "Q", "R",
  23. "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "c", "d", "e", "f", "j", "h", "i", "k", "l", "m", "n", "o", "p", "q",
  24. "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "f" };
  25.  
  26. private static String getFieldName(String methodName) {
  27. String s = "set";
  28. String ups = methodName.toLowerCase();
  29. String key = null;
  30. if (ups.indexOf(s) != -1) {
  31. key = ups.substring(s.length());
  32. }
  33. return (key == null) ? null : key;
  34. }
  35.  
  36. public static <T> T getJavaBean(Class<T> c) {
  37.  
  38. T object = null;
  39. List<Method> allMethods = new ArrayList<Method>();
  40. List<Field> allFields = new ArrayList<Field>();
  41. try {
  42. object = c.newInstance();
  43. Method[] methods = c.getDeclaredMethods();
  44. Field[] fields = c.getDeclaredFields();
  45. allMethods.addAll(Arrays.asList(methods));
  46. allFields.addAll(Arrays.asList(fields));
  47. Class superClass = c.getSuperclass();
  48. while (superClass != null) {
  49. allMethods.addAll(Arrays.asList(superClass.getDeclaredMethods()));
  50. allFields.addAll(Arrays.asList(superClass.getDeclaredFields()));
  51. superClass = superClass.getSuperclass();
  52. }
  53. for (Method m : allMethods) {
  54. if (m.getName().indexOf("set") != -1) {
  55. String field = getFieldName(m.getName());
  56. String type = "string";
  57. for (Field f : allFields) {
  58. if (f.getName().toLowerCase().equals(field)) {
  59. type = f.getType().getSimpleName();
  60. break;
  61. }
  62. }
  63. m.invoke(object, new Object[] { getValue(type) });
  64. }
  65. }
  66.  
  67. } catch (Exception e) {
  68. // e.printStackTrace();
  69. }
  70. return object;
  71. }
  72.  
  73. public static String getRand(int size) {
  74. Random random = new Random();
  75. String rvs = "";
  76. for (int i = 0; i < size; i++) {
  77. int status = random.nextInt(size);
  78. if (status < rs.length && status > 0) {
  79. rvs += rs[status];
  80. }
  81. else {
  82. rvs += "A";
  83. }
  84.  
  85. }
  86. return rvs;
  87. }
  88.  
  89. private static Object getValue(String s) {
  90. Object temp = null;
  91. String st = s.toLowerCase();
  92. Random random = new Random(10010);
  93. if (st.equals("int") || st.equals("integer")) {
  94. temp = curInt;
  95. curInt++;
  96. }
  97. else if (st.equals("long")) {
  98. temp = curL;
  99. curL++;
  100. }
  101. else if (st.equals("string")) {
  102. temp = curS + getRand(6);
  103. curS++;
  104. }
  105. else if (st.equals("double")) {
  106. temp = curD;
  107. curD++;
  108. }
  109. else if (st.equals("float")) {
  110. temp = curF;
  111. curF++;
  112. }
  113. else if (st.equals("boolean")) {
  114. temp = random.nextBoolean();
  115. }
  116. else if (st.equals("date")) {
  117. temp = new Date();
  118. }
  119. return (temp == null) ? null : (temp);
  120. }
  121. }

  mock 数据使用工具

Mock数据使用的Util的更多相关文章

  1. 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 封装网络请求及 mock 数据

    § 封装网络请求及 mock 数据 本文配套视频地址: https://v.qq.com/x/page/i05544fogcm.html 开始前请把 ch2-3 分支中的 code/ 目录导入微信开发 ...

  2. vue-cli项目中怎么mock数据

    在vue项目中, mock数据可以使用 node 的 express模块搭建服务 1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data ...

  3. json-server mock数据

    前言: 项目开发中,影响项目进程的常常是由于在前后端数据交互的开发流程中停滞,前端完成静态页面的开发后,后端迟迟未给到接口.而现在,我们就可以通过根据后端接口字段,建立一个REST风格的API接口,进 ...

  4. vue-cli项目使用mock数据的方法(借助express)

    前言 现如今前后端分离开发越来越普遍,前端人员写好页面后可以自己模拟一些数据进行代码测试,这样就不必等后端接口,提高了我们开发效率.今天就来分析下前端常用的mock数据的方式是如何实现的. 主体 项目 ...

  5. Vue CLI 3.0脚手架如何在本地配置mock数据

    前后端分离的开发模式已经是目前前端的主流模式,至于为什么会前后端分离的开发我们就不做过多的阐述,既然是前后端分离的模式开发肯定是离不开前端的数据模拟阶段. 我们在开发的过程中,由于后台接口的没有完成或 ...

  6. vue admin mock数据

    搭建脚手架axios访问不到接口:mock数据的问题mock下的index.js设置了默认指向

  7. fiddler安装及mock数据

    1,fiddler安装,解决无法抓到https问题 可用本机的火狐浏览器测试,不行,就fiddler生成证书,拷到火狐里 在firefox中,选项->进入配置界面:高级-> 证书 -> ...

  8. 关于vue-cli创建项目(小白)(2)mock数据

    mock数据,好处,前后端分离,不用等后端的真实接口,就可以用axios(ek sju s 好像这么读,原谅本人总是根据读音写单词)请求数据了. 一,安装所需插件 根据不同需求选择安装环境,mockj ...

  9. nodejs构建mock数据

    Nodejs构建mock数据并通过rest api风格调用接口访问数据 如果我们只有json格式的数据文件,我们想通过访问url方式调用居然数据 确保电脑安装node环境 如果你没有安装好node环境 ...

随机推荐

  1. [Android Pro] service中显示一个dialog 或者通过windowmanage显示view

    转载: http://blog.csdn.net/huxueyan521/article/details/8954844 通过windowmananger来在窗口上添加view的时候,需要设置aler ...

  2. 标准C++ I/O库 迭代器让数据自由流动 V8

    IO库的组成 三种流 C++的IO库以流对象为实体.主要有三种流: (1)标准输入输出流 (2)文件输入输出流 (3)字符串输入输出流 流迭代器 输入输出流迭代器 instream_iterator& ...

  3. Node.js umei图片批量下载Node.js爬虫1.00

    这个爬虫在abaike爬虫的基础上改改图片路径和下一页路径就出来了,代码如下: //====================================================== // ...

  4. Java调用本地接口:java.lang.UnsatisfiedLinkError

    Java调用本地接口:java.lang.UnsatisfiedLinkError 我的问题不在这篇文章描述中, 而是因为jni原来是c实现, 现在切换到cpp了, 需要在对应的cpp文件中加入ext ...

  5. Hibernate关系映射(一) 基于外键的单向一对一

    模拟用户和地址的映射关系,一个用户只有一个地址,用户知道地址,但是地址不知道用户.用户对地址的单向一对一映射. 一.建立实体类 Account.cs类 package com.lxit.entity; ...

  6. [Exception Android 20] - Error:Execution failed for task ':app:processDebugResources'

    Error:Execution failed for task ':app:processDebugResources'. > com.android.ide.common.process.Pr ...

  7. 【BIEE】存储安装信息的目录

    在BIEE中存在一个目录,用于存储BIEE的安装信息,这个文件的目录为 ~/Oracle_BI1/install/setupinfo.txt 我的目录为:E:/BIEE/Oracle_BI1/inst ...

  8. struts result动态结果集 带参数的结果集

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC     &qu ...

  9. Linux下如何修改root密码以及找回root密码

    Linux下修改root密码方法 以root身份登陆,执行: passwd 用户名 然后根据提示,输入新密码,再次输入新密码,系统会提示成功修改密码. 具体示例如下: [root@www ~]# pa ...

  10. 代码收藏系列--jquery--筛选器、事件绑定技巧(转载)

    代码收藏系列--jquery--筛选器.事件绑定技巧 Jquery筛选器的一些常用技巧,比如过滤属性等 /* 过滤获取没有含data-xsui-grid-colspan的节点 */$(this).fi ...