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上的。


posted @ 2017-10-07 16:06  刘大飞  阅读(212)  评论(0编辑  收藏  举报