美文网首页程序员
SpringMVC的常用注解

SpringMVC的常用注解

作者: 小强的进阶之路 | 来源:发表于2017-11-26 16:51 被阅读30次

    @Controller

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

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

    <context:component-scan/>元素的功能是:启动包扫描功能,以便注册带有@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每个方法执行前被执行。

    信息转换

    HttpMessageConverter<T>接口

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

    转换JSON数据

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

    转换XML数据

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

    相关文章

      网友评论

        本文标题:SpringMVC的常用注解

        本文链接:https://www.haomeiwen.com/subject/bcakbxtx.html