使用@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.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper" ref="commonObjectMapper"/>
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- ObjectMapper json转换 -->
<bean id="commonObjectMapper" class="cn.com.starit.util.CommonObjectMapper"/>
分享到:
相关推荐
在 web.xml 文件中配置 ContextLoaderListener 和 contextConfigLocation,以便加载 Spring 的配置文件。 ```xml <!-- Spring 配置 --> org.springframework.web.context.ContextLoaderListener ...
3. **Spring MVC配置文件**:如`spring-mvc-config.xml`,配置视图解析器、拦截器、处理器映射器等,例如: ```xml <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> ``...
这篇博客“spring MVC配置,六步简单搞定”可能介绍了如何快速且有效地设置Spring MVC项目。下面将详细阐述Spring MVC配置的六个关键步骤,以及与之相关的知识点。 **步骤1:引入Spring MVC依赖** 在开始Spring MVC...
- **配置**:包括hibernate.cfg.xml配置文件,用于定义数据库连接、方言、缓存等设置。 - **Session接口**:是与数据库交互的主要接口,提供了CRUD操作,以及事务管理和缓存管理。 - **Entity和SessionFactory**...
在Spring MVC框架中,配置文件是整个应用的核心组成部分,它定义了bean的创建、依赖关系以及各种服务的配置。这篇博客“spring mvc 读取配置文件”将深入探讨如何在Spring MVC中读取和使用配置文件,以及相关工具的...
二十、本文中springMVC.xml配置文件是核心:强调了在Spring MVC项目中,springMVC.xml配置文件的重要性,它是整个Spring MVC配置的核心所在。 以上是对所给内容的详细知识点的解析,Spring MVC的教程内容十分丰富,...
综上所述,配置Spring MVC请求的默认处理器涉及到web.xml的DispatcherServlet配置、Spring MVC配置文件的编写以及处理器映射、适配、拦截器和异常处理等相关组件的设置。理解并熟练掌握这些知识点,对于开发高效、...
- 在Spring MVC配置文件中声明处理器映射器、视图解析器、以及自定义的控制器等。 4. **创建简单示例** 在这个"Spring MVC 简单Demo"中,我们可能有一个名为`SummerWeb`的目录,其中包含以下文件: - `web.xml`...
2. 配置MessageSource Bean:在Spring MVC的配置文件(如springservlet-config.xml)中添加一个MessageSource Bean,这个Bean用来指定国际化资源文件的位置。在该Bean中,需要设置basename属性,其值为基本名称加上....
2. **Spring MVC配置文件** - `servlet-context.xml`是Spring MVC的核心配置文件,定义了DispatcherServlet的行为。 - **组件扫描**:通过`<context:component-scan>`标签启用,指定需要扫描的包,以便Spring自动...
为了实现这些功能,Spring MVC的配置文件(如servlet-context.xml)需要正确配置组件扫描、视图解析器、拦截器等。不过,现代Spring MVC项目往往倾向于使用Java配置或Spring Boot的自动配置,减少了XML的使用。 在...
4. **配置Spring MVC**:创建Spring MVC的配置文件,如`servlet-context.xml`,配置DispatcherServlet、视图解析器(如InternalResourceViewResolver)、拦截器等。 5. **配置MyBatis**:编写MyBatis的全局配置文件...
DispatcherServlet通过`web.xml`配置文件或Java配置类进行初始化配置。 2. **Controller**: 控制器是实现业务逻辑的类,通常由开发者编写。它们处理HTTP请求,调用业务服务,然后返回一个模型(Model)和视图(View...
在Spring MVC配置文件中,我们需要设置视图解析器、映射处理器、数据绑定等。 7. **创建RESTful控制器**:创建一个Java类,使用`@RestController`注解,并添加处理请求的方法。例如,创建一个返回JSON的GET请求: ...
7. **视图解析**:Spring MVC 4.0支持多种视图技术,如JSP、FreeMarker、Thymeleaf等,视图解析器可以根据配置自动选择合适的视图技术。 8. **异步处理**:Spring MVC 4.0引入了异步请求处理,通过@...
1. **Mapper接口**:定义数据库操作的方法,与XML配置文件或注解对应。 2. **SQL映射文件**:编写具体的SQL语句,可以动态化处理,支持复杂的查询需求。 3. **MyBatis-Spring整合**:使MyBatis与Spring无缝集成,...
在Spring MVC应用中,通常有web.xml(部署描述符)和spring-mvc.xml(Spring MVC配置文件)两个重要配置文件。web.xml中配置DispatcherServlet,而spring-mvc.xml则配置Spring MVC的各种组件,如HandlerMapping、...
- 配置Spring MVC:在Spring的配置文件中,我们需要定义DispatcherServlet、视图解析器和处理器映射器等。 - 集成MyBatis:引入MyBatis的依赖,配置SqlSessionFactoryBean,创建MapperScannerConfigurer扫描Mapper...