注解式控制器简介

来源:互联网 发布:mac qq只能发离线文件 编辑:程序博客网 时间:2024/05/18 02:31

        注解式控制器简介

        在spring2.5之前,都是通过实现Controller接口或继承其实现,来定义我们的处理器类. 但是已经@Deprecated,过时了.

        而在spring2.5引入注解式处理器支持,通过@Controller和@RequestMapping注解,定义我们的处理器类.并且提供了一组强大的注解:   (需要通过处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter来开启支持@Controller和@RequestMapping注解的处理器)

@Controller:用于标识是处理器类;

@RequestMapping:请求道处理器功能方法的映射规则;

@RequestParam:请求参数到处理器功能,处理方法的方法参数上的绑定;

@ModelAttribute:请求参数到命令对象的绑定;

@SessionAttributes:用于声明session级别存储的属性,放置在处理器类上,通常列出模型属性(如MOdelAttribute)对应的名称,则这些属性会透明的保存到session中;

@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型.

          在Spring3.0引入Restful架构风格支持(通过@PathVariable注解和一些其他特性支持),且又引入了更多的注解支持:

@CookieValue:cookie数据到处理器功能,处理方法的方法参数上的绑定;

@RequestHeader:请求头(header)数据到处理器功能,处理方法的方法参数上的绑定;

@RequestBody:请求的body体的绑定(通过HttpMessageConverter进行类型转换);

@ResponseBody:处理器功能处理方法的返回值,作为响应体(通过HttpMessageConverter进行类型转换);

@ResponseStatus:定义处理器功能处理方法/异常处理器处理方法的返回的状态码和原因.

@ExceptionHandler:注解式声明异常处理器;

@PathVariable:请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持Restful架构风格的URI.

        在Spring3.1,使用新的HandlerMapping和HandlerAdapter来支持@Controller和@RequestMapping注解处理器.

       新的@Controller和@RequestMapping注解支持类:处理器映射RequestMappingHandlerMapping和处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5开始的处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMehtodHandlerAdapter,提供更多的扩展点. 


文章原地址是第六章 注解式控制器详解.

         

0 0
原创粉丝点击