Spring MVC的handlermapping之SimpleUrlHandlerMapping初始化
2018-03-29 09:37
477 查看
前面信息同BeanNameUrlHandlerMapping,这里不再过多分析,详情请看 : Spring MVC的handlermapping之BeanNameUrlHandlerMapping初始化
同样先上类图:
可以看到SimpleUrlHandlerMapping是直接继承AbstractUrlHandlerMapping的
public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping { private final Map<String, Object> urlMap = new HashMap(); //用来保存url和handler的映射关系。 public SimpleUrlHandlerMapping() { } public void setMappings(Properties mappings) { //通过spring自动注入,mapping属性值 CollectionUtils.mergePropertiesIntoMap(mappings, this.urlMap); } public void setUrlMap(Map<String, ?> urlMap) { //通过spring自动注入,urlMap的值 this.urlMap.putAll(urlMap); } public Map<String, ?> getUrlMap() { return this.urlMap; } public void initApplicationContext() throws BeansException { //重写方法,自己搞定注册处理器逻辑 super.initApplicationContext(); this.registerHandlers(this.urlMap); } protected void registerHandlers(Map<String, Object> urlMap) throws BeansException { String url; Object handler; if (urlMap.isEmpty()) { this.logger.warn("Neither 'urlMap' nor 'mappings' set on SimpleUrlHandlerMapping"); } else { //遍历map,对url和handler进行合法性修补,最后调用父类进行注册处理器 for(Iterator i$ = urlMap.entrySet().iterator(); i$.hasNext(); this.registerHandler(url, handler)) { Entry<String, Object> entry = (Entry)i$.next(); url = (String)entry.getKey(); handler = entry.getValue(); if (!url.startsWith("/")) { url = "/" + url; } if (handler instanceof String) { handler = ((String)handler).trim(); } } } } }
相关文章推荐
- Spring MVC的handlermapping之请求分发如何找到正确的Handler(BeanNameUrlHandlerMapping,SimpleUrlHandlerMapping)
- SpringMVC源码解读 - HandlerMapping - SimpleUrlHandlerMapping初始化
- Spring MVC 使用SimpleUrlHandlerMapping做映射处理的简单用例
- Spring Web MVC 的HandlerMapping的使用之-------SimpleUrlHandlerMapping(有三种配法)
- Spring MVC:使用SimpleUrlHandlerMapping的一个简单例子
- Spring MVC的handlermapping之RequestMappingHandlerMapping初始化
- Spring Web MVC 的HandlerMapping的使用之-------SimpleUrlHandlerMapping(有三种配法)
- spring MVC关于org.springframework.web.servlet.handler.SimpleUrlHandlerMapping的使用
- spring mvc为何多注入了个SimpleUrlHandlerMapping?
- Spring MVC: step by step 2-SimpleUrlHandlerMapping
- Spring Web MVC 的HandlerMapping的使用之-------SimpleUrlHandlerMapping(有三种配法)
- SpringMVC源码解读之 HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化
- Spring MVC-处理程序映射(Handler Mapping)-简单的Url处理程序映射(Simple Url Handler Mapping)示例(转载实践)
- spring mvc的HandlerMapping的使用之--BeanNameUrlHandlerMapping
- Spring MVC:使用SimpleUrlHandlerMapping的一个简单例子
- Spring MVC中用SimpleUrlHandlerMapping实现单纯的页面跳转
- Spring MVC中使用SimpleUrlHandlerMapping映射处理器的一个简单例子
- SpringMVC源码解读 - HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化
- Spring Web MVC 的HandlerMapping的使用之-------BeanNameUrlHandlerMapping
- spring mvc基础篇(五):映射处理器之BeanNameUrlHandlerMapping