Spring MVC 学习之基于注解的控制器

来源:互联网 发布:网络十大丑男杀马特图 编辑:程序博客网 时间:2024/05/22 03:49

基于注解的控制器

       1.  一个控制器可以处理多个动作

         Controller和RequestMapping是Spring MVC API 最重要的两个注释类型 ,org.springframework.stereotype.Controller注解类型用于指示spring的实例是一个控制器,导入包后在类的定义上面加@Controller

        Spring使用扫描机制来找到应用程序中所有基于注解的控制器,为了保证Spring能够找到控制器

        1)SpringMVC的配置文件中生命spring-context,如下:

          <beans   .....

                        xmlns:context=" http://www.springframework.org/schema/context"

                        .......>

                .......

            </beans>

          2)需要应用<component-scan /> 元素 ,如下所示:

          <context : component-scan base-package = "basePackage" />

         若所有的控制类都在com.example.controller及其子包下, 则 basePackage 为  com.example.controller。确保所有的控制类都在基本包下,并且包的范围不要太大,以免扫描不是控制器的类

        2.为每一个动作开发相应的处理方法,让Spring知道哪一种方法来处理他的动作,要使用org.springframework.web,bind.annotation.RequestMapping注释类型的URI和方法,        

         1)可以使用 @RequestMapping  注释一种方法或者类,比如在方法定义上面添加@RequestMapping(value="/customer_input")

         2)属性  value:value是RequestMapping注释的默认属性,没有其他属性视 value属性名字可以省略,如@RequestMapping("/customer_input"),如果有其他属性的时候,value的属性名不能省略

              属性  method:method属性用来指示该方法处理哪些HTTP请 求  ,method=({RequestMethod.POST,RequestMethod.PUT}),只有一个的时候可以不用写花括号,没有指定的method 的时候,则可以处理任意的HTTP方法。

         如果RequestMapping用来注释一个控制器类,所有的方法都将映为相对于类级别的请求,若类上有,方法上也有RequestMapping,则查看的网址为http://domain/context/customer/delete ;(customer是类上的value,delete是方法上的value ,确定到某个方法)

             

阅读全文
0 0
原创粉丝点击