SpringMVC的常用注解

@Controller

@Controller用于标记一个类,使用它标记的类就是一个SpringMVC Controller对象。Spring使用扫描机制查找应用程序中所有基于注解的控制器类。配置文件如下:

<context:component-scan base-package="org.fkit.controller"/>

元素的功能是:启动包扫描功能,以便注册带有@Controller,@Service,@Repository,@Component等注解的类成为Spring的Bean,base-package属性指定了需要扫描的类包,类包及其递归子包中所有的类都会被处理。

@RequestMapping

@RequestMapping指示Spring用哪一个类或方法来处理请求动作,该注解可用于类或方法。同时可以指定如下属性:
* value,将URL映射到方法上进行处理
* method,指示该方法仅仅处理哪些HTTP请求方式(若没有指定,则可以处理任意HTTP请求方式)
* consumes,处理请求的提交内容类型(Content-Type: “application/json”或”text/html”)
* produces, 指定返回的内容类型,仅处理request请求头(Accept)中所包含的类型
* params,指定request中必须包含某些参数值时,才让该方法处理
* headers,request中必须包含某些指定的header值

参数绑定

@RequsetParam

@RequsetParam用于将指定的请求参数赋值给方法中的形参
* name,指定请求头绑定的名称
* value,name属性的别名
* required,指示参数是否必须绑定
* defauleValue,如果没有传递参数而使用的默认值

@PathVariable

可以非常方便获得请求URL中的动态参数

@RequestHeader

将请求的头信息区域数据映射到功能处理方法的参数上
* name,指定请求头绑定的名称
* value,name属性的别名
* required,指示参数是否必须绑定
* defauleValue,如果没有传递参数而使用的默认值

@CookieValue

用于将请求的Cookie数据映射到功能处理方法的参数上
* name,指定请求头绑定的名称
* value,name属性的别名
* required,指示参数是否必须绑定
* defauleValue,如果没有传递参数而使用的默认值

@SessionAttributes

允许我们有选择地指定Model中的哪些属性需要转存到HttpSession对象当中。只能声明在类上,不能声明的方法上。
* name,Model中属性的名称,即存储在HttpSession当中的属性名称
* value,name属性的别名
* types,指示参数是否必须绑定

@ModelAttribute

将请求参数绑定到Model对象,只支持一个属性vlaue,String类型,表示绑定的属性名称。被@ModelAttribute注释的方法会在Controller每个方法执行前被执行。

扫描二维码关注公众号,回复: 1111008 查看本文章

信息转换

HttpMessageConverter接口

负责将请求信息转换为一个对象(类型为T),并将都系昂绑定到请求方法的参数中或输出为响应信息。

转换JSON数据

@ResponseBody会将集合数据转换为json格式数据并将其返回客户端。
处理json格式的开源类包使用Jackson和fastjson,只是需要使用不同的HttpMessageConerter。

转换XML数据

JAXB提供将XML实例文档反向生成JAVA对象的方法,并能够JAVA对象的内容重新写入XML实例文档。提供的注解@XmlRootElement,@XmlElement等。

猜你喜欢

转载自blog.csdn.net/weixin_31351409/article/details/78638105