一、前言
关于spring-web的包中通过org.springframework.http.HttpMethod枚举类,定义了关于http的8种methodType方法类型(GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE),该示例中使用enums的默认values()获取所有枚举实例的值,再通过httpMethod.name()获取对应属性名称注入关系字典中mappings,详情源码示例。
二、源码示例
package org.springframework.http;@b@@b@import java.util.HashMap;@b@import java.util.Map;@b@@b@public enum HttpMethod@b@{@b@  GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;@b@@b@  private static final Map<String, HttpMethod> mappings;@b@@b@  public static HttpMethod resolve(String method)@b@  {@b@    return ((method != null) ? (HttpMethod)mappings.get(method) : null);@b@  }@b@@b@  public boolean matches(String method)@b@  {@b@    return (this == resolve(method));@b@  }@b@@b@  static{@b@    mappings = new HashMap(8);@b@@b@    HttpMethod[] arrayOfHttpMethod = values();@b@    int i = arrayOfHttpMethod.length; @b@    for (int j = 0; j < i; ++j) {@b@        HttpMethod httpMethod = arrayOfHttpMethod[j];@b@      mappings.put(httpMethod.name(), httpMethod);@b@    }@b@  }@b@}