文档详情

SpringMVC 框架学习指南.pdf

发布:2019-03-28约2.96万字共19页下载文档
文本预览下载声明
springMVC 框架学习指南 V 1.0 SpringMVC 2.5 3.0 最大的特色就是URL 自定义,Request 参数自动绑定: 来看一下基于注解的 Controller 是如何定义做到这一点的,下面是使用注解的 BbtForumController: 清单 1. BbtForumController.java package com.baobaotao.web; import com .baobaotao.service.BbtForumService; import org.springframework.beans.factory .annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.util.Collection; @Controller // ① @RequestMapping(/forum.do) public class BbtForumController { @Autowired private BbtForumService bbtForumService; @RequestMapping // ② public String listAllBoard() { bbtForumService.getAllBoard(); System.out.println(call listAllBoard method.); return listBoard; } } 从上面代码中,我们可以看出 BbtForumController 和一般的类并没有区别,它没有实现任何特殊的接 口,因而是一个地道的 POJO 。让这个 POJO 与众不同的魔棒就是 Spring MVC 的注解! 在 ① 处使用了两个注解,分别是 @Controller 和 @RequestMapping。在 使用 Spring 2.5 基于注 解驱动的 IoC”这篇文章里,笔者曾经指出过 @Controller 、@Service 以 @Repository 和 @Component 注解的作用是等价的:将一个类成为 Spring 容器的 Bean 。由于 Spring MVC 的 Controller 必须事先是一个 Bean,所以 @Controller 注解是不可缺少的。 真正让 BbtForumController 具备 Spring MVC Controller 功能的是 @RequestMapping 这个注 解。@RequestMapping 可以标注在类定义处,将 Controller 和特定请求关联起来;还可以标注在方 法签名处,以便进一步对请求进行分流。在 ① 处,我们让 BbtForumController 关联 /forum.do”的 请求,而 ② 处,我们具体地指定 listAllBoard() 方法来处理请求。所以在类声明处标注的 @RequestMapping 相当于让 POJO 实现了 Controller 接口,而在方法定义处的 @RequestMapping 相当于让 POJO 扩展 Spring 预定义的 Controller(如 SimpleFormController 等)。 为了让基于注解的 Spring MVC 真正工作起来,需要在 Spring MVC 对应的 xxx-servlet.xml 配置文 件中做一些手脚。在此之前,还是先来看一下 web.xml 的配置吧: 清单 2. web.xml:启用 Spring 容器和 Spring MVC 框架 ?xml version=1.0 encoding=UTF-8? web-app xmlns=/xml/ns/javaee xmlns:xsi=http://www .w3 .org/2001/XMLSchema-instance xsi:schemaLocati
显示全部
相似文档