docs: private static void autowareConfig(final Object obj, Properties prop) throws Exception {
  
          if (null == prop || obj == null) {
              throw new Exception("cannot autowareConfig null");
          }
  
          try {
  
              Field[] fields = obj.getClass().getDeclaredFields();
  
              for (Field field : fields) {
  
                  if (field.isAnnotationPresent(DisconfFileItem.class)
                          || field.isAnnotationPresent(DisInnerConfigAnnotation.class)) {
  
                      if (Modifier.isStatic(field.getModifiers())) {
                          continue;
                      }
  
                      String name;
                      String value;
  
                      if (field.isAnnotationPresent(DisconfFileItem.class)) {
  
                          name = field.getName();
                          value = prop.getProperty(name, null);
  
                      } else {
  
                          // disconf使用的配置
  
                          DisInnerConfigAnnotation config = field.getAnnotation(DisInnerConfigAnnotation.class);
                          name = config.name();
  
                          String defaultValue = config.defaultValue();
                          value = prop.getProperty(name, defaultValue);
  
                          // using disconf as prefix to avoid env confusion
                          if (value.equals(defaultValue) && name != null) {
                              if (name.contains("disconf.")) {
                                  String newName = name.substring(name.indexOf('.') + 1);
                                  value = prop.getProperty(newName, defaultValue);
                              }
                          }
                      }
  
                      field.setAccessible(true);
  
                      if (null != value) {
  
                          try {
  
                              ClassUtils.setFieldValeByType(field, obj, value);
  
                          } catch (Exception e) {
  
                              LOGGER.error(String.format("invalid config: %s", name), e);
                          }
                      }
                  }
              }
          } catch (Exception e) {
  
              throw new Exception("error while autowire config file", e);
          }
      }