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, for example, a registered "/test" matches "/test", and
various Ant-style pattern matches, for example, 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 AbstractHandlerMapping
mappingsLogger
Fields inherited from class ApplicationObjectSupport
logger
Fields inherited from interface HandlerMapping
API_VERSION_ATTRIBUTE, 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 Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorsConstructorDescriptionCreate 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 TypeMethodDescriptionAllowMap
access to the URL path mappings, with the option to add or override specific entries.void
Calls theregisterHandlers(Map)
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 AbstractUrlHandlerMapping
getHandlerInternal, getHandlerMap, lookupHandler, registerHandler, registerHandler, setHandlerPredicate, setLazyInitHandlers, validateHandler
Methods inherited from class AbstractHandlerMapping
formatMappingName, getApiVersionStrategy, getCorsConfiguration, getCorsProcessor, getHandler, getOrder, getPathPatternParser, hasCorsConfigurationSource, setApiVersionStrategy, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setOrder, setUseCaseSensitiveMatch
-
Constructor Details
-
SimpleUrlHandlerMapping
public SimpleUrlHandlerMapping()Create aSimpleUrlHandlerMapping
with default settings. -
SimpleUrlHandlerMapping
-
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
-
initApplicationContext
Calls theregisterHandlers(Map)
method in addition to the superclass's initialization.- Overrides:
initApplicationContext
in classApplicationObjectSupport
- Throws:
BeansException
- 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
-