RequestMappingInfo :创建对象实例时,会循环判断是否时Handler(AbstractHandlerMethodMapping.isHandler)是的话检测方法构建RequestMappingInfo
1.RequestMappingInfo 生成
AbstractAutowireCapableBeanFactory#doCreateBean->RequestMappingHandlerMapping#afterPropertiesSet
->AbstractHandlerMethodMapping#initHandlerMethods->AbstractHandlerMethodMapping#processCandidateBean
->AbstractHandlerMethodMapping.isHandler
AbstractHandlerMethodMapping#detectHandlerMethods->AbstractHandlerMethodMapping#registerHandlerMethod
/**
* Mapping注册中心,可以理解为办事处
*/
class MappingRegistry {
/**
* T是匹配条件的对象。MappingRegistration是注册的信息,可以理解为你要做事情。
* 对于RequestMappingHandlerMapping,T就是RequestMappingInfo
* MappingRegistration包括信息:RequestMappingInfo、HandlerMethod、directPaths、mappingName、corsConfig
*/
private final Map<T, MappingRegistration<T>> registry = new HashMap<>();
/**
* Map<path, RequestMappingInfo>
*/
private final MultiValueMap<String, T> pathLookup = new LinkedMultiValueMap<>();
/**
* Map<mappingName, List<HandlerMethod>>
*/
private final Map<String, List<HandlerMethod>> nameLookup = new ConcurrentHashMap<>();
}