码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC常用注解

时间:2017-08-06 16:03:33      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:str   响应   conf   code   orm   map   request   http   相关   

Spring 2.5 引入了一种基于注解的编程模式,注解支持 Servlet MVC 和 Portlet MVC。控制器可以不必继承特定的基类或实现特定的接口。

@Controller

在 Spring MVC 中,控制器 Controller 负责处理由 DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个 Model,然后再把该 Model 返回给对应的 View 进行展示。

不使用注解的方式,需要在 Spring MVC 配置文件 springmvc-config.xml 中添加 Controller 类的 Bean 对象,如:

<bean class="com.shiyanlou.springmvc.controller.UserController"/>
使用 @Controller 注解的类不再需要继承特定的基类或实现特定的接口,并且可以同时处理多个请求动作。

配置文件写法:

首先在头文件引入 spring-context。
启动包扫描功能,添加类似如下的代码:
<context:component-scan base-package="com.shiyanlou.springmvc.controller" />
base-package 是指定要扫描的包及其子包。
回顾上一节 Controller 类中的一些代码:

/**
 * UserController 是一个基于注解的控制器
 * 可以同时处理多个请求动作
 */
@Controller
public class UserController {

    /**
     * RequestMapping 用来映射一个请求和请求的方法
     * value="/register" 表示请求由 register 方法进行处理
     */
    @RequestMapping(value="/register")
    public String Register(@ModelAttribute("form") User user, Model model) {  // user:视图层传给控制层的表单对象;model:控制层返回给视图层的对象
        // 在 model 中添加一个名为 "user" 的 user 对象
        model.addAttribute("user", user);
        // 返回一个字符串 " success" 作为视图名称
        return "success";
    }
}
可以看到,为 UserController 添加了 @Controller,说明它是一个基于注解的控制器。

Spring 会使用扫描机制查找所有基于注解的控制器类。


@RequestMapping

@RequestMapping 注解用来处理请求地址映射,指示 Spring 用哪个类或方法来处理请求动作。 @RequestMapping 可用于类或方法上。

当 @RequestMapping 用于类上时,表示类中的所有响应方法都被映射到 value 属性所指示的路径下,如:

@Controller
@RequestMapping(value="/user")
public class UserController {
    @RequestMapping(value="/register")
    public String Register() { 
        return "register";
    }
}
在这里,相关路径均要加上 /user,Register() 映射的 URL 为:

http://localhost:8080/SpringMVCTest/user/register
若未用 @RequestMapping(value="/user") 注解类,该方法映射的 URL 为:

http://localhost:8080/SpringMVCTest/register
同样是上面的示例代码, @RequestMapping(value="/register") 映射一个请求和请求的方法,请求由 Register 方法进行处理。

 

Spring MVC常用注解

标签:str   响应   conf   code   orm   map   request   http   相关   

原文地址:http://www.cnblogs.com/chenyedev/p/7294895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!