• spring 学习 requestMapping


    1:    @RequestMapping:处理请求地址映射的请求,有6个属性?

    `         value:   URL 地址

        method:   GET/POST/PUT/DELETE

              consumes: :指定处理请求的提交内容(Content-Type),例如:application/json, text/html

        produces: 指定返回的内容类型,仅当request的Accept类型中包含该指定类型才返回

        parameters: 指定request必须包含哪些参数才让这个处理

              RequestMapping (value= "testParams" , params={ "param1=value1" , "param2" , "!param3" })/param1 的值必须等

              于value1 ,参数param2 必须存在,值无所谓,参数param3 必须不存在

        headers:   指定request中必须包含某些指定的header值,才能让该方法处理

    2:    @Resource   @Autowired    

       都是在注入bean的时候用.

      相同点: 二者都写在字段或者setter方法.

       不同点:@AutoWired默认是按byType装配,默认情况下要求bean必须存在,可以用requered=false表示允许是null。

              如果是byName(id)装配,可以结合 @Qualifier注解一起使用。

        @Resource默认是按照ByName(bean id)自动注入,可以用name和type属性指定装配方式。

    3: Spring MVC其他常用注解

        @ModelAttribute 

    这个在AC面试的时候考察了:当我们请求 /myTest/sayHello.do 的时候使用 @ModelAttribute 标记的方法会先执行,然后把它们返回的对象存放到模型中。最终访问到 sayHello 方法的时候,使用 @ModelAttribute 标记的方法参数都能被正确的注入值。

         @SessionAttributes

     @Controller
     @RequestMapping ( "/myTest" )
     @SessionAttributes (value={ "intValue" , "stringValue" }, types={User. class })

          指定了属性为 intValue 或 stringValue 或者类型为 User 的都会放到 Session中.

    @PathVariable:  请求参数中变量

    @RequestParameter:  三个常用参数:  defaultvalue=”xx”/required=false/value=”xxx”

    @ResponseBody: 将controller方法返回的队形,通过适当的HttpMessageConverer转化为指定格式后,写入到Response对象的body数据区。当返回的是jason/XML 等的时候用。

    @Component

    @Repository: 用在dao层上
    @CookieValue:

    @RequestHeader:  把header上的值绑定到参数

    @RequestBody:该注解常用来处理Content-Type: 不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等;

      它是通过使用HandlerAdapter 配置的HttpMessageConverters来解析post data body,然后绑定到相应的bean上的。

    
    
  • 相关阅读:
    python_3 装饰器之初次见面
    python_迭代器
    Python_1生成器(下)之单线并行--生产着消费者模型
    Python_ 1生成器(上)初识生成器
    memcache 和 redis 的区别
    Linux 面试总结
    网络面试总结
    操作系统相关面试总结
    剑指offer 数组中的重复数字
    svn-主副分支使用
  • 原文地址:https://www.cnblogs.com/liufei1983/p/7634962.html
Copyright © 2020-2023  润新知