各种注解的作用

@RequestMapping

如果没有指定请求方式,将接收Get、Post、Head、Options等所有的请求方式.

@GetMapping

是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。

get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到

get是从服务器上获取数据。 

* 请求是为了查找资源,HTML表单数据仅用来帮助搜索。
* 请求结果无持续性的副作用。
* 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。

@PostMapping

是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。

get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;

post是向服务器传送数据。
* 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。
* 若使用GET方法,则表单上收集的数据可能让URL过长。
* 要传送的数据不是采用7位的ASCII编码。

@RequestBody

@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)

@RequestParam(后端方法接收请求参数)

接收的参数是来自requestHeader中,即请求头通常用于GET请求,比如常见的url:http://localhost:8081/spring-boot-study/novel/findByAuthorAndType?author=唐家三少&type=已完结

@RequestParam有三个配置参数:

  • required 表示是否必须,默认为 true,必须。
  • defaultValue 可设置请求参数的默认值。
  • value 为接收url的参数名(相当于key值)。

@RequestParam也可用于其它类型的请求,例如:POST、DELETE等请求。

@RequestParam接收参数,要求postman以表单的格式发送数据(即使用form-data)

@RequestPart

这个注解用在multipart/form-data表单提交请求的方法上。多用于文件上传场景。

@PutMapping

和PostMapping作用等同,都是用来向服务器提交信息,两者差别不是很明显。

如果是添加信息,倾向于用@PostMapping

如果是更新信息,倾向于用@PutMapping

@RestController(作用相当于@Controller+@ResponseBody)

  • @Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。当然也有语义化的作用,即代表该类是充当Controller的作用
  • @ResponseBody 它的作用简短截说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端,如果返回的是String类型,则仍然是String。

用@Controller,返回的是页面

@RestController,返回的是JSON、XML或其他文本

@Autowired和@Resource

明白同一类型的定义:

父类及其子类都属于父类 这一类型;接口及其实现类都属于接口 这一类型

根本区别

  • @Autowired是按照类型装配,spring专有的
  • @Resource是按照名字进行装配,java自带的

理解和应用

  • 当使用@Autowired时,它有一个属性是required:默认值true。值为true时,表示必须注入,如果bean不存在则会报错;值为false时,表示bean存在就注入,不存在则不注入。
  • 如果在使用@Autowired时,同时要按名称装配,那可以搭配@Qualifier使用
  • @Primary注解可以解决上述问题(按类型装配时,如果该类型的bean不止一个时,会报错)。当我们使用自动配置的方式装配Bean时,如果这个Bean有多个候选者,假如其中一个候选者具有@Primary注解修饰,该候选者会被选中,作为自动装配的bean。

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值