操纵Spring 2.5基于注解驱动的Spring MVC[Java编程]
本文“操纵Spring 2.5基于注解驱动的Spring MVC[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
概述
继 Spring 2.0 对 Spring MVC 举行庞大进级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功效.目前你无须让 Controller 担当任何接口,无需在 XML 配置文件中定义恳求和 Controller 的映射关系,仅仅利用注解便可以让一个 POJO 具有 Controller 的绝大部份功效 —— Spring MVC 框架的易用性得到了进一步的加强.在框架机动性、易用性和扩大性上,Spring MVC 已经全面超越了别的的 MVC 框架,伴随着 Spring 一路高唱大进,可以预见 Spring MVC 在 MVC 市场上的吸引力将越来越不可顺从.
本文将介绍 Spring 2.5 新增的 Sping MVC 注解功效,报告若何利用注解配置替换传统的基于 XML 的 Spring MVC 配置.
一个简单的基于注解的 Controller
利用太低版本 Spring MVC 的读者都知道:当成立一个 Controller 时,我们需求直接或间接地实现 org.springframework.web.servlet.mvc.Controller 接口.普通情形下,我们是通过担当 SimpleFormController 或 MultiActionController 来定义自己的 Controller 的.在定义 Controller 后,一个重要的事件是在 Spring MVC 的配置文件中通过 HandlerMapping 定义恳求和掌握器的映射关系,以便将二者关联起来.
来看一下基于注解的 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 的配置吧:
以上是“操纵Spring 2.5基于注解驱动的Spring MVC[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |