code: public static <E> E copy(Object source, Class<E> targetClass) {
          if (source == null || targetClass == null) {
              return null;
          }
          E target;
          String targetClassName = targetClass.getName();
          log.debug("生成{}的实例", targetClassName);
          try {
              // 没有权限访问该类或者该类（为接口、抽象类）不能实例化时将抛出异常
              target = targetClass.newInstance();
          } catch (Exception e) {
              log.error("target生成失败，请检查代码；失败原因：", e);
              return null;
          }
  
          return copy(target, source);
      }
docs: 将source中与targetClass同名的字段从source中复制到targetClass的实例中，source中的{@link Alias Alias}注解将会生效，需要注
  意的是source中的Alias注解不要对应dest中的多个字段，否则会发生不可预测错误
  
  @param source      被复制的源对象
  @param targetClass 要复制的目标对象的class对象
  @param <E>         目标对象的实际类型
  @return targetClass的实例，当targetClass或者source的class为接口、抽象类或者不是public时返回null