spring MVC之用注解开发控制器(一)
----------
在传统的Spring MVC开发方法中,必须在Bean配置文件中为每个控制器类配置实例和请求映射。如果Spring MVC可以自动侦测你的控制器类和请求映射,就能减少配置所需要的工作量。此外,让每个控制器类去实现或者扩展特定于框架的接口或者基类,也不够灵活。
Spring2.5支持一种基于注解的控制器开发方法。Spring可以通过@Controller注解自动发现你的控制器类以及@RequestMapping注解中的请求映射,这样就为你免去了在Bean配置文件中配置它们的麻烦。此外,如果使用注解,控制器类和处理程序方法在访问上下文资源(例如请求参数、模型属性和会话属性)时也会更加灵活。
@Controller注解能将任意的类标注成控制器类。与传统的控制器相反,被标注的控制器类不需要实现特定于框架的接口,也不必扩展特定于框架的基类。在控制器类内部,可能有一个或者多个处理程序方法添加了@RequestMapping注解。
处理程序方法的签名非常灵活。你可以为处理程序方法指定任意的名称,并定义以下任意一种类型作为它的方法参数。在这里,只提到了常见的参数类型。关于有效参数类型的完整列表,请参阅有关配置基于注解的控制器的Spring文档。
1.HttpServletRequest、HttpServletResponse或HttpSession。
2.添加了@RequestParam注解的任意类型的请求参数
3.添加了@ModelAttribute注解的任意类型的模型属性
4.任意类型的命令对象,供Spring绑定请求参数
5.Map或者ModelMap,供处理程序方法向模型添加属性
6.Errors或者BindingResult,让处理程序方法访问命令对象的绑定和验证结果
7.SessionStatus,让处理程序方法发出会话处理已经完成的通知
处理程序方法的返回类型可以是ModelAndView、Map、String、void。
在创建基于注解的控制器之前,必须构建web应用程序上下文来处理注解。首先,为了让Spring用@Controller注解自动侦测控制器,必须通过<context:component-scan>元素启用Spring的组件扫描特性。
此外,Spring MVC还能够根据@RequestMapping将请求映射到控制器类和处理程序方法。为了使其生效,必须在web应用程序上下文中注册DefaultAnnotationHandlerMapping实例和AnnotationMethodHandlerAdapter实例。它们分别处理在类级别和方法级别上的@RequestMapping注解。
如例,为了重点关注基于注解的控制器方法,只包含必要的Spring MVC配置。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.sspringframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-bean-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan
base-package="com.apress.springrecipes.court.web"/>
<bean class="org.springframework.web.servlet.mvc.annotation.
DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.
AnnotationMethodHandlerAdapter"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="messageSource" class="org.springframework.context.support.
ResourceBundleMessageSource">
<property name="basename" value="messages"/>
</bean>
</beans>
DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter是默认在Web应用程序上下文中预先注册好的。然而,如果你还显式地注册了其他的处理程序映射或者处理程序适配器,它们就不会自动注册了。在这种情况下,你必须亲自注册它们。
分享到:
相关推荐
后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04. 系统前台采用全采用的Html+jQuery开发 05. 系统前台与后台的交互全部使用 Ajax 异步请求 06. 自定义 SecureValid 注解实现权限的控制 07. ...
Spring MVC的一个关键特性是它的灵活性,支持多种类型的控制器和视图技术。它还提供了强大的注解支持,使得开发更加简洁和直观。例如,通过使用@Controller和@RequestMapping注解,开发者可以轻松定义控制器和请求...
《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及...
参考《Spring3.x企业应用开发实战》springMVC框架结构简介、 HTTP请求地址映射、数据转换、数据模型控制、视图及解析器
强化注解的使用,在控制器、Service、Dao都可以使用注解,方便灵活。 Spring MVC的工作流程如下: 用户通过视图层发送请求到服务器。 在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理...
2. 注解开发: 我们将深入讨论如何使用注解来配置和管理Spring容器、控制器、服务层和数据访问层。注解开发可以显著简化配置,并提高代码的可读性。 3. 整合配置: 我们将演示如何将Spring、Spring MVC和MyBatis进行...
《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...
第三章:注解式控制器开发详解 包括:注解式开发HelloWorld、处理器定义、请求映射、REST风格支持、请求数据映射、数据绑定等诸多内容 第四章:数据类型转换 包括:简介、内建类型转换器、自定义类型转换器等 第五...
Spring MVC: Spring MVC是Spring框架的一个模块,它实现了MVC(模型-视图-控制器)设计模式,用于构建Web应用。Spring MVC允许你将应用的逻辑、数据和用户界面分离,使得代码更加清晰和易于维护。 MyBatis: MyBatis...
* * * * Spring MVC的核心类和注解 请输入您的部门/机构名称 12.1 DispatcherServlet DispatcherServlet的全名是org.springframework.web.servlet.DispatcherServlet,它在程序中充当着前端控制器的角色。在使用时,...
Light Security是一个基于jwt的权限控制框架,支持与Spring Boot配合使用,支持Spring MVC与WebFlux;开箱即用,轻量级,代码精简,不到500行代码;功能实用,市面上安全框架常见能力与套路均已具备:支持 RESTful ...
编程语言+JAVAspring+MVC框架+...它介绍了JAVAspring的MVC框架的概念、原理和作用,以及如何使用JAVAspring的MVC框架来开发Web应用,包括控制器、模型、视图、拦截器、异常处理等内容,以及一些配置文件和注解的用法。
(2)在 web.xml 文件中配置 Spring mvc 的前端控制器 (3)创建一个 spring mvc 的配置文件 (4)在 spring mvc 的配置文件中进行相关配置 1) 配置注解扫描路径 2)配置处理器映射器 3)配置处理器...
项目结构: 我们将展示一个标准的Spring MVC项目结构,包括控制器、模型、视图、配置文件等。您将了解如何组织项目以便更好地管理和扩展。 请求处理流程: 我们将详细解释Spring MVC中的请求处理流程,包括请求映射...
Spring MVC 3.0新特性: 1.支持REST风格的URL 2.添加更多注解,可完全注解驱动 ...5.更加灵活的控制器方法签名,可完全独立于Servlet API 参考《Spring 3.x企业应用开发实战》的第15章撰写的培训材料
Spring Framework 开发参考手册 目录 1. 简介 1.1. 概览 1.1.1. 使用场景 2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 ...2.5.3. 基于Annotation的控制器 ......
1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了...5 spring容器内部使用拦截器,以Spring AOP的方式实现事务控制管理。
16.1.1. 控制器 - MVC中的C 16.1.2. 视图 - MVC中的V 16.1.3. Web作用范围的Bean 16.2. DispatcherPortlet 16.3. ViewRendererServlet 16.4. 控制器 16.4.1. AbstractController和PortletContentGenerator ...
SpringMVC 是一种基于 Java 的实现 MVC 设计...它通过一套注解, 让一个简单的 Java 类成为处理请求的控制器, 而无须实现任何接口。 同时它还支持RESTful 编程风格的请求。 本文档包含SpringMVC的课件笔记与学习标注。