主要是这四种注解的:@Controller、@RequestMapping、@RequestParam 、@Responsebody

@Controller

@Controller注解是在Spring的org.springframework.stereotype包下,org.springframework.stereotype.Controller注解类型用于指示Spring类的实例是一个控制器,@Controller注解注解的控制器可以同时支持处理多个请求动作,使程序开发变的更加灵活。
@Controller用户标记一个类,使用它标记的类就是一个Spring MVC Controller对象,即:一个控制器类。Spring使用扫描机制查找应用程序中所有基于注解的控制器类,分发处理器会扫描使用了该注解的方法,并检测该方法是否使用了@RequestMapping注解,而使用@RequestMapping注解的方法才是真正处理请求的处理器。 

@RequestMapping

RequestMapping注解是在Spring的org.springframework.web.bind.annotation包下,根据它们处理的request的不同内容可以分为四类(常用的类型)。

第一类:处理request body部分的注解有:@RequestParam和@RequestBody 
第二类:处理requet uri部分的注解有:@PathVaribale 
第三类:处理request header部分的注解有:@RequestHeader和@CookieValue 
第四类:处理attribute类型的注解有:@SessionAttributes和@MoelAttribute
@Controller
@RequestMapping("/hello")
public class MyController{@RequestMapping(method=RequestMethod.GET)public String function1(..){..}@RequestMapping(method=RequestMethod.POST)public String function2(..){..}
}

@RequestParam

@RequestParam注解是在Spring的org.springframework.web.bind.annotation包下,总共有四种属性

1、name属性 
该属性的类型是String类型,它可以指定请求头绑定的名称;

2、value属性 
该属性的类型是String类型,它可以设置是name属性的别名;

3、required属性 
该属性的类型是boolean类型,它可以设置指定参数是否必须绑定;

4、defalutValue属性 
该属性的类型是String类型,它可以设置如果没有传递参数可以使用默认值。

@RequestMapping("/list")public String test(@RequestParam  String name) {}

这里需要说明的是,总共有下面三种写法,都是正确的:

①test(String name),  ②test(@RequestParam String name),
③test(@RequestParam("userName") String name), 第一种如果没有name 参数不会报错, 第二种没有name 参数会报错,(也可以设置required = false), 第三种跟第二种的区别是name 参数换为userName。

@Responsebody

@Responsebody注解是在Spring的org.springframework.web.bind.annotation包下,@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。

  @RequestMapping("/login")@ResponseBodypublic User login(User user){return user;}User字段:userName pwd那么在前台接收到的数据为:'{"userName":"xxx","pwd":"xxx"}'效果等同于如下代码:@RequestMapping("/login")public void login(User user, HttpServletResponse response){response.getWriter.write(JSONObject.fromObject(user).toString());}

Spring MVC 的常用注解相关推荐

  1. 二、Spring MVC之常用注解

    Spring MVC中常用的注解有以下几个:@Controller, @RequestMapping, @PathVariable, @CookieValue, @SessionAttributes. ...

  2. spring MVC请求处理类注解属性详解

    spring MVC请求处理类注解属性详解

  3. Spring MVC中@ControllerAdvice注解实现全局异常拦截

    Spring MVC中@ControllerAdvice注解实现全局异常拦截 参考文章: (1)Spring MVC中@ControllerAdvice注解实现全局异常拦截 (2)https://ww ...

  4. spring boot 的常用注解使用 总结

    附:Spring Boot 官方文档学习(一)入门及使用 见https://www.cnblogs.com/larryzeal/p/5799195.html @RestController和@Requ ...

  5. 在Spring MVC中使用注解的方式校验RequestParams

    概述   Spring MVC支持Bean Validation,通过这个验证技术,可以通过注解方式,很方便的对输入参数进行验证,之前使用的校验方式,都是基于Bean对象的,但是在@RequestPa ...

  6. java requestparams_详解在Spring MVC中使用注解的方式校验RequestParams

    概述 Spring MVC支持Bean Validation,通过这个验证技术,可以通过注解方式,很方便的对输入参数进行验证,之前使用的校验方式,都是基于Bean对象的,但是在@RequestPara ...

  7. Spring MVC的@PostMapping注解

    @PostMapping 映射一个POST请求 Spring MVC新特性 提供了对Restful风格的支持 @GetMapping,处理get请求 @PostMapping,处理post请求 @Pu ...

  8. Spring中的常用注解

    1 第一步导包 首先需要导入这四个包以及日志文件(slf4j-log4j12-1.7.5.jar) 2 配置xml文件 <--配置文件信息--> <beans xmlns=" ...

  9. spring data JPA常用注解

    常用注解 @Entity 作用:指定当前类是实体类. @Table 作用:指定实体类和表之间的对应关系. 属性: name:指定数据库表的名称 @ld 作用:指定当前字段是主键. @Generated ...

最新文章

  1. 字节总监的开发手记,知乎5000+点赞!
  2. CondLaneNet:基于条件卷积的自顶向下车道检测框架
  3. 一个为制造业而生的AI助手,普通员工向它提问就能做数据分析
  4. Linux内核移植之三:内核配置选项
  5. [Linux] Linux smaps接口文件结构
  6. 什么是网络套接字(Socket)?
  7. 易语言服务器不在一个网段,设置二级路由器保持局域网在同一个网段
  8. Re-installation failed due to different application signatures
  9. t-sql查询where in_产品操作MySQL第7篇 – 运算符 - IN
  10. c语言学习-输入一个十进制数,输出其对应的八进制数据
  11. component多个 vue_VUE多个组件示例
  12. 360gen9装linux找不到硬盘,H3C案例查看:针对HPE ProLiant Gen8/Gen9系列服务器在Linux系统下如何开启......
  13. InnoDB存储引擎--学习笔记-redo log
  14. 创建一个war类型的maven项目
  15. Atitit 怎么阅读一本书 消化 分析 检索 attilax总结 1. 读书的本质 是数据的处理,大量的数据,处理能力有限的大脑 2 2. ETL数据清洗转换 摘要,缩小数据规模 2 2.1
  16. 如何:从代码创建 UML 类图(ZZ)
  17. oracle 触发器 实例
  18. SecureCRT 64位/32位 8.3.3 中文破解版(附上1.解决SecureCRT乱码问题2.解决Hostname lookup failed: host not found问题)
  19. 福建将全面实现各市县政府机关软件正版化
  20. 【运筹帷幄】关于阿里云服务器自己开启的6010端口

热门文章

  1. Linux nginx 会话保持(session)
  2. 自由还是霸权? TPP将撤销政府的数据主权
  3. 超好用!5款开源的移动自动化测试工具
  4. 《C++覆辙录》——2.9:自反初始化
  5. PHP防SQL注入攻击
  6. python 面向对象 私有化浅析
  7. adb命令中的keyevent事件
  8. 推荐:Java性能优化系列集锦
  9. IDEA基于kotlin开发android程序配置小结
  10. [转载]We Recommend a Singular Value Decomposition