public MethodParameterResolver( Class<?> controllerClazz, Method method, ParameterNameDiscovererImpl parameterNameDiscoverer, ResolverFactory resolverFactory) { this.method = method; Class<?>[] parameterTypes = method.getParameterTypes(); parameterNames = parameterNameDiscoverer.getParameterNames(method); resolvers = new ParamResolver[parameterTypes.length]; paramMetaDatas = new ParamMetaData[parameterTypes.length]; // for (int i = 0; i < parameterTypes.length; i++) { ParamMetaDataImpl paramMetaData = new ParamMetaDataImpl(controllerClazz, method, parameterTypes[i], parameterNames[i], i); paramMetaDatas[i] = paramMetaData; resolvers[i] = resolverFactory.supports(paramMetaData); } }