Class SimpleUrlHandlerMapping
- All Implemented Interfaces:
Aware
,BeanNameAware
,ApplicationContextAware
,Ordered
,HandlerMapping
HandlerMapping
interface to map from URLs to request handler beans. Supports both mapping
to bean instances and mapping to bean names; the latter is required for
non-singleton handlers.
The "urlMap" property is suitable for populating the handler map with
bean instances. Mappings to bean names can be set via the "mappings"
property, in a form accepted by the java.util.Properties
class,
as follows:
/welcome.html=ticketController /show.html=ticketController
The syntax is PATH=HANDLER_BEAN_NAME
. If the path doesn't begin
with a slash, one is prepended.
Supports direct matches, e.g. a registered "/test" matches "/test", and
various Ant-style pattern matches, e.g. a registered "/t*" pattern matches
both "/test" and "/team", "/test/*" matches all paths under "/test",
"/test/**" matches all paths below "/test". For details, see the
PathPattern
javadoc.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Sam Brannen
-
Field Summary
Fields inherited from class org.springframework.web.reactive.handler.AbstractHandlerMapping
mappingsLogger
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Fields inherited from interface org.springframework.web.reactive.HandlerMapping
BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionCreate aSimpleUrlHandlerMapping
with default settings.SimpleUrlHandlerMapping
(Map<String, ?> urlMap) Create aSimpleUrlHandlerMapping
using the supplied URL map.SimpleUrlHandlerMapping
(Map<String, ?> urlMap, int order) Create aSimpleUrlHandlerMapping
using the supplied URL map and order. -
Method Summary
Modifier and TypeMethodDescriptionAllow Map access to the URL path mappings, with the option to add or override specific entries.void
Calls theregisterHandlers(java.util.Map<java.lang.String, java.lang.Object>)
method in addition to the superclass's initialization.protected void
registerHandlers
(Map<String, Object> urlMap) Register all handlers specified in the URL map for the corresponding paths.void
setMappings
(Properties mappings) Map URL paths to handler bean names.void
Set a Map with URL paths as keys and handler beans (or handler bean names) as values.Methods inherited from class org.springframework.web.reactive.handler.AbstractUrlHandlerMapping
getHandlerInternal, getHandlerMap, lookupHandler, registerHandler, registerHandler, setHandlerPredicate, setLazyInitHandlers, validateHandler
Methods inherited from class org.springframework.web.reactive.handler.AbstractHandlerMapping
formatMappingName, getCorsConfiguration, getCorsProcessor, getHandler, getOrder, getPathPatternParser, hasCorsConfigurationSource, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setOrder, setUseCaseSensitiveMatch, setUseTrailingSlashMatch
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, isContextRequired, obtainApplicationContext, requiredContextClass, setApplicationContext
-
Constructor Details
-
SimpleUrlHandlerMapping
public SimpleUrlHandlerMapping()Create aSimpleUrlHandlerMapping
with default settings. -
SimpleUrlHandlerMapping
Create aSimpleUrlHandlerMapping
using the supplied URL map.- Parameters:
urlMap
- map with URL paths as keys and handler beans (or handler bean names) as values- Since:
- 5.2
- See Also:
-
SimpleUrlHandlerMapping
Create aSimpleUrlHandlerMapping
using the supplied URL map and order.- Parameters:
urlMap
- map with URL paths as keys and handler beans (or handler bean names) as valuesorder
- the order value for thisSimpleUrlHandlerMapping
- Since:
- 5.2
- See Also:
-
-
Method Details
-
setMappings
Map URL paths to handler bean names. This is the typical way of configuring this HandlerMapping.Supports direct URL matches and Ant-style pattern matches. For syntax details, see the
PathPattern
javadoc.- Parameters:
mappings
- properties with URLs as keys and bean names as values- See Also:
-
setUrlMap
Set a Map with URL paths as keys and handler beans (or handler bean names) as values. Convenient for population with bean references.Supports direct URL matches and Ant-style pattern matches. For syntax details, see the
PathPattern
javadoc.- Parameters:
urlMap
- map with URLs as keys and beans as values- See Also:
-
getUrlMap
Allow Map access to the URL path mappings, with the option to add or override specific entries.Useful for specifying entries directly, for example via "urlMap[myKey]". This is particularly useful for adding or overriding entries in child bean definitions.
-
initApplicationContext
Calls theregisterHandlers(java.util.Map<java.lang.String, java.lang.Object>)
method in addition to the superclass's initialization.- Overrides:
initApplicationContext
in classApplicationObjectSupport
- Throws:
ApplicationContextException
- in case of initialization errorsBeansException
- if thrown by ApplicationContext methods- See Also:
-
registerHandlers
Register all handlers specified in the URL map for the corresponding paths.- Parameters:
urlMap
- a Map with URL paths as keys and handler beans or bean names as values- Throws:
BeansException
- if a handler couldn't be registeredIllegalStateException
- if there is a conflicting handler registered
-