spring cloud学习记录

最近在学习spring cloud时。遇到几对长得很相似的兄弟,有些脸盲,所以我决定把他们拎出来好好瞧瞧。

1.@GetMapping 、@PostMapping 与 @RequestMapping

刚开始联想到这三个时,就觉得可能是应该是包含与被包含的关系,不敢确定的我点了进去瞧瞧

上图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看出 @GetMapping 和@PostMapping 都是 相当于在原来@RequestMapping里指定了请求方法,也就是限定了请求方式只能是它。也就是在不确定请求方式的时候,我们就用老大哥 @RequestMapping就没错。

2.@RestController和 @Controller

我们先上图:
在这里插入图片描述

在这里插入图片描述

@Controller该注解作用在类上,虚拟机在运行时保留它们,因此可以反射地读取它们,然后再通过视图解析器我们就可以解析return的jsp、html页面。实现页面跳转。

但是如果我们要将一个数据对象通过json格式显示到页面的时候单靠这一个注解就行不通了,所以我们在加上@ResponseBody注解,实现这个想法。然后为了简化这个过程,有了@RestController

@RestController该注解也是作用在类上还可作用在方法上,所以它的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,
需要注意的是在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中。

其实我的理解就是,@RestController注解相当于@ResponseBody加 @Controller合在一起,可以方便的返回json数据,但是用了这个它就不能再返回jsp\html页面了。

3.@Autowired和@Auto

首先是最熟悉的@Autowired,它是我们进行内容注入的好帮手,
在这里插入图片描述
大概意思是:
通过Spring的依赖项注入工具 将构造方法,字段,setter方法或config方法 进行自动装配。

然后就能消除 set ,get方法,搭配lombok的Date注解就可以,直接使用内置的get、set方法了

然后@Auto
在这里插入图片描述

大概意思是:
有助于避免每次将其他字段添加到* {@link com.netflix.appinfo.InstanceInfo}时更改* {@link com.netflix.discovery.converters.Converters.InstanceInfoConverter}。

此注解通知{@link com.netflix.discovery.converters.Converters.InstanceInfoConverter} *自动编组{@link com.netflix.appinfo.InstanceInfo}类中声明的大多数原始字段

我的理解是:这个注解标记的字段可以提醒进行编译字段(不知道这样理解对不对,没涉及到用这个注解的方式,也在网上没找到,以后涉及到了再仔细说说)

4.uri和url

URI叫统一资源标识符 ,URL叫统一资源定位符,就是这样是不是感觉没说一样,没错,前几天我也是这么认为的,标注和定位不都是为了便于查找资源吗,而且乍一听差不多,那再想一想。

然后URI它包含 URL 和 URN 这兄弟两

URN其实可以相当于一个网站的用户账号(当然这个账号也得是不重复唯一的),然后可以通过这个账号去匹配到这个用户,然后返回用户信息

URL可以相当于存储这个用户信息的存储地址,通过这个地址我们可以得到这位用户信息。

所以也有一句话,不是所有的URI都是URL(因为它心里还装着URN)

还想深入了解的兄弟,可以看看这个:HTTP 协议中 URI 和 URL 有什么区别?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值