spring mvc注解

 

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;

 

 

Spring 3 引入一个 mvc XML 的命名空间用于支持mvc 配置,包括如:

<mvc:annotation-driven>:

自动注册基于注解风格的处理器需要的DefaultAnnotationHandlerMapping、AnnotationMethodHandlerAdapter

支持 Spring3的ConversionService 自动注册

支持 JSR-303验证框架的自动探测并注册(只需把JSR-303实现放置到classpath)

自动注册相应的HttpMessageConverter(用于支持@RequestBody 和 @ResponseBody)(如XML输入输出转换器

(只需将JAXP实现放置到classpath)、JSON 输入输出转换器(只需将Jackson 实现放置到classpath))等。

<mvc:interceptors>:注册自定义的处理器拦截器;

<mvc:view-controller>:和ParameterizableViewController 类似,收到相应请求后直接选择相应的视图;

<mvc:resources>:逻辑静态资源路径到物理静态资源路径的支持;

<mvc:default-servlet-handler>:当在web.xml 中DispatcherServlet使用<url-pattern>/</url-pattern> 映射时,能映射静

态资源(当Spring Web MVC框架没有处理请求对应的控制器时(如一些静态资源),转交给默认的Servlet来响应静态

文件,否则报404 找不到资源错误,)

 

 

1、@RequestParam绑定单个请求参数值;

2、@PathVariable绑定URI模板变量值;

3、@CookieValue绑定Cookie数据值

4、@RequestHeader 绑定请求头数据;

5、@ModelValue绑定参数到命令对象;

6、@SessionAttributes绑定命令对象到session;

7、@RequestBody绑定请求的内容区数据并能进行自动类型转换等。

8、@RequestPart 绑定“multipart/data”数据,除了能绑定@RequestParam 能做到的请求参数外,还能绑定上传的文件等。

猜你喜欢

转载自liuna718-163-com.iteye.com/blog/2215905
今日推荐