public final class IntegrationRequestMappingHandlerMapping
extends org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
implements org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>
HandlerMapping implementation that
detects and registers RequestMappingInfos for HttpRequestHandlingEndpointSupport
from a Spring Integration HTTP configuration of
<inbound-channel-adapter/> and <inbound-gateway/> elements.
This class is automatically configured as a bean in the application context during the parsing phase of
the <inbound-channel-adapter/> and <inbound-gateway/> elements, if there is none registered, yet.
However it can be configured as a regular bean with appropriate configuration for
RequestMappingHandlerMapping. It is recommended to have only one similar bean in the application context
using the 'id' HttpContextUtils.HANDLER_MAPPING_BEAN_NAME.
In most cases, Spring MVC offers to configure Request Mapping via org.springframework.stereotype.Controller
and RequestMapping.
That's why Spring MVC's Handler Mapping infrastructure relies on HandlerMethod,
as different methods at the same org.springframework.stereotype.Controller user-class may have their own
RequestMapping. On the other side, all Spring Integration HTTP Inbound
Endpoints are configured on the basis of the same HttpRequestHandlingEndpointSupport class and there is no
single RequestMappingInfo configuration without HandlerMethod in Spring MVC.
Accordingly IntegrationRequestMappingHandlerMapping is a HandlerMapping
compromise implementation between method-level annotations and component-level (e.g. Spring Integration XML) configurations.RequestMapping,
RequestMappingHandlerMapping| Constructor and Description |
|---|
IntegrationRequestMappingHandlerMapping() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
protected void |
detectHandlerMethods(java.lang.Object handler) |
protected org.springframework.web.servlet.HandlerExecutionChain |
getHandlerExecutionChain(java.lang.Object handler,
javax.servlet.http.HttpServletRequest request) |
protected boolean |
isHandler(java.lang.Class<?> beanType) |
void |
onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent event)
HttpRequestHandlingEndpointSupports may depend on auto-created
requestChannels, so MVC Handlers detection should be postponed
as late as possible. |
createRequestMappingInfo, getContentNegotiationManager, getCustomMethodCondition, getCustomTypeCondition, getFileExtensions, getMappingForMethod, resolveEmbeddedValuesInPatterns, setContentNegotiationManager, setEmbeddedValueResolver, setUseRegisteredSuffixPatternMatch, setUseSuffixPatternMatch, setUseTrailingSlashMatch, useRegisteredSuffixPatternMatch, useSuffixPatternMatch, useTrailingSlashMatchgetMappingComparator, getMappingPathPatterns, getMatchingMapping, handleMatch, handleNoMatchcreateHandlerMethod, getHandlerInternal, getHandlerMethods, handlerMethodsInitialized, initHandlerMethods, lookupHandlerMethod, registerHandlerMethod, setDetectHandlerMethodsInAncestorContextsadaptInterceptor, detectMappedInterceptors, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initApplicationContext, initInterceptors, setAlwaysUseFullPath, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelpergetServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextpublic IntegrationRequestMappingHandlerMapping()
protected final boolean isHandler(java.lang.Class<?> beanType)
isHandler in class org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMappingprotected final org.springframework.web.servlet.HandlerExecutionChain getHandlerExecutionChain(java.lang.Object handler,
javax.servlet.http.HttpServletRequest request)
getHandlerExecutionChain in class org.springframework.web.servlet.handler.AbstractHandlerMappingprotected final void detectHandlerMethods(java.lang.Object handler)
detectHandlerMethods in class org.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>public void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanafterPropertiesSet in class org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMappingpublic void onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent event)
HttpRequestHandlingEndpointSupports may depend on auto-created
requestChannels, so MVC Handlers detection should be postponed
as late as possible.onApplicationEvent in interface org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>RequestMappingHandlerMapping.afterPropertiesSet()