當前位置:編程學習大全網 - 熱門推薦 - Spring MVC 配置文件講解

Spring MVC 配置文件講解

使用@Controller定義壹個控制器

使用@RequestMapping映射請求

使用@RequestParam綁定請求參數到方法參數

使用@ModelAttribute提供壹個從模型到數據的鏈接

使用@SessionAttributes指定存儲在會話中的屬性

<context:annotation-config/>

他的作用是隱式地向 Spring 容器註冊

AutowiredAnnotationBeanPostProcessor、

CommonAnnotationBeanPostProcessor、

PersistenceAnnotationBeanPostProcessor、

RequiredAnnotationBeanPostProcessor

這 4 個BeanPostProcessor。

例如:

如果想使用@ Resource 、@ PostConstruct、@ PreDestroy等註解就必須聲明CommonAnnotationBeanPostProcessor。

如果想使用@PersistenceContext註解,就必須聲明PersistenceAnnotationBeanPostProcessor的Bean。

如果妳想使用@Autowired註解,那麽就必須事先在 Spring 容器中聲明 AutowiredAnnotationBeanPostProcessor Bean。傳統聲明方式如下:

<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor "/>

如果想使用 @Required的註解,就必須聲明RequiredAnnotationBeanPostProcessor的Bean。同樣,傳統的聲明方式如下:

<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>

記得,使用註解壹般都會配置掃描包路徑選項

<context:component-scan base-package=”XX.XX”/>

<servlet>

<servlet-name>dispatcherServlet</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/dispatcherServlet-servlet.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>dispatcherServlet</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

這個配置常常見於web.xml文件中

<load-on-startup>1</load-on-startup>是啟動順序,讓這個Servlet隨Servletp容器壹起啟動。

<url-pattern>*.do</url-pattern> 會攔截*.do結尾的請求。

<servlet-name>dispatcherServlet</servlet-name>這個Servlet的名字是dispatcherServlet,可以有多個DispatcherServlet,是通過名字來區分的。每壹個DispatcherServlet有自己的WebApplicationContext上下文對象。同時保存的ServletContext中和Request對象中,關於key,以後說明。

在DispatcherServlet的初始化過程中,框架會在web應用的 WEB-INF文件夾下尋找名為[dispatcherServlet]-servlet.xml 的配置文件,生成文件中定義的bean。

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/dispatcherServlet-servlet.xml</param-value>

</init-param>

指明了配置文件的文件名,不使用默認配置文件名,而使用springMVC.xml配置文件。

其中<param-value>**.xml</param-value> 這裏可以使用多種寫法

1、不寫,使用默認值:/WEB-INF/<servlet-name>-servlet.xml

2、<param-value>/WEB-INF/classes/springMVC.xml</param-value>

3、<param-value>classpath*:springMVC-mvc.xml</param-value>

4、多個值用逗號分隔

springMVC-mvc.xml 配置文件片段講解

<context:annotation-config/>

<!-- 自動掃描的包名 -->

<context:component-scan base-package="com.iflysse"/>

<!-- 默認的註解映射的支持 -->

<mvc:annotation-driven/>

<!-- 視圖解釋類 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/jsp/"/>

<property name="suffix" value=".jsp"/><!--可為空,方便實現自已的依據擴展名來選擇視圖解釋類的邏輯 -->

<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />

</bean>

<mvc:annotation-driven /> 是壹種簡寫形式,完全可以手動配置替代這種簡寫形式,簡寫形式可以讓初學都快速應用默認配置方案。<mvc:annotation-driven /> 會自動註冊DefaultAnnotationHandlerMapping與AnnotationMethodHandlerAdapter 兩個bean,是spring MVC為@Controllers分發請求所必須的。

並提供了:數據綁定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,讀寫XML的支持(JAXB),讀寫JSON的支持(Jackson)。

後面,我們處理響應ajax請求時,就使用到了對json的支持。

後面,對action寫JUnit單元測試時,要從spring IOC容器中取DefaultAnnotationHandlerMapping與AnnotationMethodHandlerAdapter 兩個bean,來完成測試,取的時候要知道是<mvc:annotation-driven />這壹句註冊的這兩個bean。

<!-- json 支持 -->

<bean id="mappingJacksonHttpMessageConverter"

class="org.springframework..com.starit.util.CommonObjectMapper"/>

  • 上一篇:哆啦A夢的妹妹的男朋友叫什麽啊?
  • 下一篇:轉移的英文
  • copyright 2024編程學習大全網