code: private static <T> List<T> transformMapListToBeanList(Class<T> clazz, List<Map<String, Object>> listProperties)
              throws InstantiationException, IllegalAccessException, InvocationTargetException {
          // 存放被实例化的T类对象
          T bean = null;
          // 存放所有被实例化的对象
          List<T> list = new ArrayList<T>();
          // 将实例化的对象放入List数组中
          if (listProperties.size() != 0) {
  
              Iterator<Map<String, Object>> iter = listProperties.iterator();
              while (iter.hasNext()) {
                  // 实例化T类对象
                  bean = clazz.newInstance();
                  // 遍历每条记录的字段，并给T类实例化对象属性赋值
                  for (Map.Entry<String, Object> entry : iter.next().entrySet()) {
                      BeanUtils.setProperty(bean, entry.getKey(), entry.getValue());
                  }
                  // 将赋过值的T类对象放入数组中
                  list.add(bean);
              }
          }
          return list;
      }
docs: 将所有记录包装成T类对象，并将所有T类对象放入一个数组中并返回，传入的T类的定义必须符合JavaBean规范，
  因为本函数是调用T类对象的setter器来给对象赋值的
  
  @param clazz          T类的类对象
  @param listProperties 所有记录
  @return 返回所有被实例化的对象的数组，若没有对象，返回一个空数组
  @throws InstantiationException
  @throws IllegalAccessException
  @throws InvocationTargetException