04 - springMVC三大元件配置詳解
springMVC三大元件配置
概述
上篇分析了springMVC的架構流程,這篇對三大元件的配置檔案解讀一下。
1. springMVC預設載入元件
記得在springMVC入門小例項中,指定的springMVC並沒有新增這三大元件的配置資訊就可以使用這些元件, 僅僅配置了掃描@controler的註解, 為什麼? 是因為框架本身就有一個配置檔案,在我們沒有配置的時候會有預設的配置資訊,從而載入這些元件。
配置檔案的位置如下:
2.配置檔案解讀
開啟DispatcherServlet.properties檔案解讀三大元件總體如下:
- HandlerMapping 處理器對映器:
如上圖可以看到預設的有兩個
1.org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping 是配置檔案式的, 目前使用很少,不去研究了。
2.org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping 基於註解的方式。
進入這裡類裡可以發現官方已經廢棄了
as of Spring 3.2, in favor of
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
翻譯:字spring3.2以後 , 就推薦使用RequestMappingHandlerMapping
處理器介面卡有三種方式分別是繼承父類,實現介面,和註解,
現在也是使用註解的方式。現在也是推薦使用RequestMappingHandlerAdapter
以上的兩種介面卡使用推薦的話需要在springmvc.xml配置檔案中新增配置, 有兩種方法
第一種 , 直接配置bean(不常使用)
<!-- 處理器對映器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!-- 處理器介面卡 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
第二種, 註解驅動 (常用)
<mvc:annotation-driven />
3.配置檢視解析器
回顧入門例子裡的 , controller中的ModelAndView中setViewName中的值:
這個值 帶全路徑,並且還需要帶上字尾, 如果jsp資料夾下有很多頁面的話這樣寫起來豈不是會有很多的重複。 所以要考慮通用的配置,下邊就是配置檢視解析器。
<!-- 檢視直譯器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
注: 不管如何配置,這裡的字首和字尾要和ModelAndView或者返回的字串能拼湊成一個正確完整的路徑才可以。
配置好以上檢視解析器以後 ModelAndView中的setViewName就可以直接寫成如下:(目的就是簡化了配置)
進階需要一步一步來, 穩紮穩打! 下篇學習springMVC之引數繫結。
你堅持的這個過程也是在向目標走進的一個過程。