SpringCloud和SpringCloud Alibaba 怎么简单快速搭建 怎么引入依赖 (健康检查接口、Ubuntu安装Nacos)

今天自己写的项目,写了一个健康检查controller接口。其中 有一个 info 接口,想去打印一下服务的信息,需要引入 DiscoveryClient 和 Registration 两个类。
这两个类看起来都是 spring Cloud 的。
我就要引入SpringCloud 依赖,于是翻看我之前的项目怎么引入的 SpringCloud依赖。

发现每个子服务中都添加了如下依赖,好吧,我已经忘了 dependencyManagement 的作用了
在这里插入图片描述
问AI一下 dependencyManagement 作用。

在这里插入图片描述
说的好像没说,这里的1比较奇怪,意思是子项目继承了依赖,但是还需要重新声明才能使用??

于是我又打开了两个已经上线项目的代码看看 dependencyManagement 如何用的

发现在项目的根pom中定义了非常多的依赖,包括 SpringCloud 以及 SpringCloud Alibaba,这里就不贴了和上面图片一致,只是多了一个cloud-Alibaba的依赖(在下面你可以看到)

还有 guava、hutool 这些工具类,另外一个项目也是如此,但是至于说 dependencyManagement 这个标签里面定义了多少依赖,两个项目是不同的 。
那这里有一个疑问 dependencyManagement 里面定义的依赖,子项目可以直接用吗,还是需要重新在子项目声明一遍,但是不用定义version。也就是上面AI回答的第一点,做个试验好了?

行为:我把子项目中的guava依赖注释掉,在父项目的 pom 的 dependencyManagement 中定义。
结果:子项目启动报错,验证了我的想法,就是 需要重新在子项目声明一遍,但是不用定义version。

在这里插入图片描述

这个其实很好理解,就像 lombok一样,参考我这篇文章。
https://blog.youkuaiyun.com/qq_42704130/article/details/142093659

在这里插入图片描述

因为我所有的项目的根pom依赖于
在这里插入图片描述

ok,所以你懂我意思。

在这里插入图片描述

结论:dependencyManagement 的作用就是控制依赖的版本,子pom声明的时候无需再指定版本。

回到之前的问题上来,我想引入 springCloud 依赖,到底应该引入什么,都应该在哪里引入。

第一:毫无疑问,根pom这样引入是必须的(后续我既要用gateway openfegin这种属于cloud的组件,也要用nacos这种属于 cloud alibaba 的组件,所以我选择都引入)

至于说版本问题,之前记得cloud版本和SpringBoot版本是有对应关系的。官网上记得有,去看看。

进入 spring.io 选哪个projects,然后选 springCloud 往下拉,就能看见。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

再来看看 cloud alibaba和boot的依赖对应关系

在这里插入图片描述
再点一下 Learn 看看,点一个最新的 Reference Doc. 看看

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

说实在的,这个tag打的也是乱七八糟的,稀碎
在这里插入图片描述
引入即可。

最终:

回到开头,我最开始的需求是引入 DiscoveryClient 和 Registration 两个类。这两个依赖都属于注册中心的,我必须在子模块中引入注册中心的依赖。
这里就涉及到注册中心的选型,我这里想用nacos,于是我要引入 nacos的依赖。 这个参考刚刚alibaba的说明文档就可以了。

在这里插入图片描述

点击这个,然后往下拉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值