`

spring MVC之用注解开发控制器(一)

 
阅读更多

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应用程序上下文中预先注册好的。然而,如果你还显式地注册了其他的处理程序映射或者处理程序适配器,它们就不会自动注册了。在这种情况下,你必须亲自注册它们。 

 

 

 

 

分享到:
评论

相关推荐

    Spring+Spring mvc+Hibernate+Bootstrap、企业级员工信息管理系统

    后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04. 系统前台采用全采用的Html+jQuery开发 05. 系统前台与后台的交互全部使用 Ajax 异步请求 06. 自定义 SecureValid 注解实现权限的控制 07. ...

    全面掌握Spring MVC:从基础到高级的实践指南

    Spring MVC的一个关键特性是它的灵活性,支持多种类型的控制器和视图技术。它还提供了强大的注解支持,使得开发更加简洁和直观。例如,通过使用@Controller和@RequestMapping注解,开发者可以轻松定义控制器和请求...

    Spring3MVC注解教程.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及...

    Spring3_MVC注解教程

    参考《Spring3.x企业应用开发实战》springMVC框架结构简介、 HTTP请求地址映射、数据转换、数据模型控制、视图及解析器

    21道Java Spring MVC综合面试题详解含答案(值得珍藏)

    强化注解的使用,在控制器、Service、Dao都可以使用注解,方便灵活。 Spring MVC的工作流程如下: 用户通过视图层发送请求到服务器。 在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理...

    整合Mybatis和Spring框架进行注解开发SSM框架的学习与应用-Java EE企业级应用开发学习记录(第十天)

    2. 注解开发: 我们将深入讨论如何使用注解来配置和管理Spring容器、控制器、服务层和数据访问层。注解开发可以显著简化配置,并提高代码的可读性。 3. 整合配置: 我们将演示如何将Spring、Spring MVC和MyBatis进行...

    Spring MVC 3.0实战指南.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...

    Spring Web MVC入门教程

    第三章:注解式控制器开发详解 包括:注解式开发HelloWorld、处理器定义、请求映射、REST风格支持、请求数据映射、数据绑定等诸多内容 第四章:数据类型转换 包括:简介、内建类型转换器、自定义类型转换器等 第五...

    Spring+MVC+Mybatis 书城项目

    Spring MVC: Spring MVC是Spring框架的一个模块,它实现了MVC(模型-视图-控制器)设计模式,用于构建Web应用。Spring MVC允许你将应用的逻辑、数据和用户界面分离,使得代码更加清晰和易于维护。 MyBatis: MyBatis...

    基于java的企业级应用开发:Spring MVC的核心类和注解.ppt

    * * * * Spring MVC的核心类和注解 请输入您的部门/机构名称 12.1 DispatcherServlet DispatcherServlet的全名是org.springframework.web.servlet.DispatcherServlet,它在程序中充当着前端控制器的角色。在使用时,...

    基于jwt的权限控制框架,支持与Spring Boot配合使用,支持Spring MVC与WebFlux

    Light Security是一个基于jwt的权限控制框架,支持与Spring Boot配合使用,支持Spring MVC与WebFlux;开箱即用,轻量级,代码精简,不到500行代码;功能实用,市面上安全框架常见能力与套路均已具备:支持 RESTful ...

    编程语言+JAVAspring+MVC框架+Web开发

    编程语言+JAVAspring+MVC框架+...它介绍了JAVAspring的MVC框架的概念、原理和作用,以及如何使用JAVAspring的MVC框架来开发Web应用,包括控制器、模型、视图、拦截器、异常处理等内容,以及一些配置文件和注解的用法。

    Java之Spring Boot详解

    (2)在 web.xml 文件中配置 Spring mvc 的前端控制器 (3)创建一个 spring mvc 的配置文件 (4)在 spring mvc 的配置文件中进行相关配置   1) 配置注解扫描路径   2)配置处理器映射器   3)配置处理器...

    (第十一天)初识SpringMVC SSM框架的学习与应用-Java EE企业级应用开发学习记录

    项目结构: 我们将展示一个标准的Spring MVC项目结构,包括控制器、模型、视图、配置文件等。您将了解如何组织项目以便更好地管理和扩展。 请求处理流程: 我们将详细解释Spring MVC中的请求处理流程,包括请求映射...

    Spring MVC 3.0实战指南--陈雄华

    Spring MVC 3.0新特性: 1.支持REST风格的URL 2.添加更多注解,可完全注解驱动 ...5.更加灵活的控制器方法签名,可完全独立于Servlet API 参考《Spring 3.x企业应用开发实战》的第15章撰写的培训材料

    spring2.5.chm帮助文档(中文版)

    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的控制器 ......

    基于SSM框架(SpringMVC + Spring + Mybatis)的图书管理系统,内附,教程,数据库脚本

    1 此系统采用了目前最流行的ssm框架,其中的spingMVC框架相对于struts2框架更灵活,更安全。 2 本项目springMVC框架采用了注解映射器,使用了...5 spring容器内部使用拦截器,以Spring AOP的方式实现事务控制管理。

    Spring 2.0 开发参考手册

    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笔记.zip

    SpringMVC 是一种基于 Java 的实现 MVC 设计...它通过一套注解, 让一个简单的 Java 类成为处理请求的控制器, 而无须实现任何接口。 同时它还支持RESTful 编程风格的请求。 本文档包含SpringMVC的课件笔记与学习标注。

Global site tag (gtag.js) - Google Analytics