萌新快速入门——SpringCloud-Eureka以及使用RestTemplate完成相互通信

项目搭建

本项目中使用的是手动搭建SpringBoot项目的方式,都是基于Maven的quickstart骨架进行搭建的。
在这里插入图片描述
首先创建springcloud-eureka-parent父级项目用于管理spring程序包。
在这里插入图片描述
这是创建好的项目结构,由于父级模块只是用于管理包的导入所以可以删掉src,然后进行pom的修改。
由于子项目需要使用springboot与springcloud相关程序包,所以需要在dependencyManagement中添加相关依赖进行管理。
在这里插入图片描述
这里我推荐和我使用相同的版本以免造成springboot与springcloud版本兼容问题而报错,具体可以参考
这篇文章进行了解。
然后我们创建三个子模块也是基于之前的Maven的quickstart进行搭建的,一个用于是Eureka服务端,两个用于模拟客户端应用进行注册和通信。都将src中的test目录删除掉,项目中用不上测试类,(如果不删掉会导致项目因为确实测试包报错)完成后具体结构如下:
在这里插入图片描述
然后将三个子模块都手动改为springboot项目,以eureka-server为例,其他两个都是相同的做法,文件内容略有不同,下面再详细介绍:
在这里插入图片描述

Eureka服务端编写

springcloud-eureka-server-2010的pom文件导入相关依赖
在这里插入图片描述
注意导入的是eureka-server包,下面eureka客户端中导入的是eureka-client包。
编写EurekaServerApplication2010
在这里插入图片描述
@EnableEurekaServer注解作用是将当前springboot项目标记为eureka服务端。

application.yml文件如下:
在这里插入图片描述
将端口设置为2010,eureka的主机名设置为localhost,其他配置如图中注解所示,其中defaultZone中的为获取上面的配置属性值,可以写为http://localhost:2010/eureka/。
然后运行项目,访问localhost:2010出现如下页面说明Eureka服务端搭建成功。
在这里插入图片描述

Eureka客户端注册编写

我们就以springcloud-user-server-2020为例,另一个客户端基本相同,只有端口号有所不同。
pom文件中导入以下依赖:
在这里插入图片描述
springboot主配置类:
在这里插入图片描述
打上@EnableEurekaClient将当前springboot项目标记为Eureka客户端。
application.yml配置为:
在这里插入图片描述
其中配置如上所示,配置完成后运行项目,再访问之前的localhost:2010
在这里插入图片描述
出现这个说明客户端已经注册成功了,另一个order-server配置与此相同,就不细述。

使用RestTemplate实现客户端间通信

我们用一个实体类User作为模拟的假数据作为通信,由于两个客户端都需要用到User类,所以我们将User实体类抽取到springcloud-commons中。
springcloud-commons的pom中不需要导入任何依赖。
但需要在springcloud-eureka-parent中将commons写入dependencyManagement交给父模块管理。
在这里插入图片描述
然后在两个客户端的pom中导入springcloud-commons。

在这里插入图片描述
在User客户端中编写controller
在这里插入图片描述
其中User为随意创建的假数据。
然后在Order的Springboot主配置中添加RestTemplate的Bean方便我们进行自动注入。
在这里插入图片描述
编写Order的controller
在这里插入图片描述
然后分别重启两个客户端的springboot服务器,并访问localhost:2030/order,发现返回了User客户端的controller中的数据。
在这里插入图片描述
至此,已经完成了Eureka服务的发现与注册以及使用RestTemplate实现客户端间通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值