SpringMVC常用注解和其他小知识点

在SpringMVC开发中用到了大量的注解,此文记录下常用的注解的意义和用途

@Controller

@Controller:创建后端控制器(处理器)对象,一般用于处理前端控制器的分发过来的请求
位置:此注解放在类的上面,表示创建此类的对象,对象放在springMVC的容器中

@RequestMapping

@RequestMapping:顾名思义,请求映射,一般用于将指定的请求URL交给指定的方法处理
位置:可以放在类上和方法上
属性:
1-value(表示请求的uri地址,唯一值,以 / 开头)
2-method(表示指定的请求方式,比如GET请求,POST请求等)

示例:
在这里插入图片描述

@RequestParam

在学习此注解前我学习MVC的知识时接收参数都是在方法形参里起名字,起的名字都和前端页面传来的参数名一样
比如一个表单如下
在这里插入图片描述
参数分别为name和pwd
那么我后端接收请求参数时都是在形参里写funcation(String name,String pwd)…来接收 ,SpringMVC会自动赋值形参为前端传的值,这种方法不是很好,总是有点限制(要求形参名和请求中的参数名相同)
提示:上面这种方法接收参数时,框架是可以自动进行类型的转换的,比如前端传个12.22,后端可以使用float、double接收(框架帮你转换类型赋值)。
那么可不可以前端传值,后端接收参数的时候不使用一样的名字呢?使用@RequestParam可以实现!
例如
在这里插入图片描述
后端接收时形参这样写
在这里插入图片描述

知识点:使用对象接收参数

除了上面写到的两个接收参数的方法以外,还可以使用对象来接收参数
要点:前端参数名需要和对象属性名一致,并且对象需要实现无参构造和属性的set方法
框架的处理流程:框架会调用对象的无参构造生成实例,然后调用对象的set方法将同名的参数值设置进去
示例:
在这里插入图片描述
后端接收参数:
在这里插入图片描述
User类(部分截图,是一个标准的JavaBean)
在这里插入图片描述

@ResponseBody注解

@ResponseBody注解的作用是将后端控制器的方法返回的对象(通常此对象已经被消息转换器转为json或字符串数据)写入到response对象的body中
例如在这里插入图片描述
上图中的方法就使用到了@ResponseBody注解,上图的方法的执行流程为:

  1. 接收到参数后先在控制台打印出参数
  2. 然后重新设置对象的username和password,并将其存入List集合中
  3. 当执行return lists时,由于此方法的返回类型为List集合,所以MVC框架先将集合对象使用自带的转换器转为json格式的数据(消息转换器需要在mvc的配置文件中配置<mvc:annotation-driven />)
  4. 最后该@ResponseBody出场,此注解表示将转换后的json数据存入response对象中,直接响应
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值