code: private static List<ValueInjector> getValueInjectFields(Environment environment, ClassDefine classDefine) {
          List<ValueInjector> valueInjectors = new ArrayList<>(8);
          //handle class annotation
          if (null != classDefine.getType().getAnnotation(Value.class)) {
              String suffix = classDefine.getType().getAnnotation(Value.class).name();
              Arrays.stream(classDefine.getDeclaredFields()).forEach(field -> valueInjectors.add(
                      new ValueInjector(environment, field, suffix + "." + field.getName())
              ));
          } else {
              Arrays.stream(classDefine.getDeclaredFields()).
                      filter(field -> null != field.getAnnotation(Value.class)).
                      map(field -> new ValueInjector(
                              environment, field, field.getAnnotation(Value.class).name())
                      ).forEach(valueInjectors::add);
          }
          return valueInjectors;
      }
docs: Get @Value Annotated field
  
  @param environment
  @param classDefine
  @return