转载声明 : 该文章出处为 扛麻袋的少年
写在开头
接上一篇文章:Spring Boot 与 Spring Cloud 之间的版本选择。本文仅用来对【没有微服务架构思想】的初学者学习。如果你不是,请略过。出于对初学者友好,特增设此篇。本文与Spring Cloud 无关联。
我们使用 RestTemplate ,来搭建一个微服务项目。现在有两个模块:
- 服务提供模块(模块名:
cloud-provider-payment8001
) - 服务消费模块(模块名:
cloud-consumer-order80
)
这两个模块之间的通信,是基于 RestTemplate
来完成通信的。RestTemplate 类似于我们之前使用过的 HttpClient。Spring 框架提供的 RestTemplate 类可用于在应用中调用 rest 服务,它简化了与http服务的通信方式,统一了Restful的标准,封装了http 链接, 我们只需要传入url 及返回值类型即可。
相较于之前常用的 HttpClient,RestTemplate 是一种更优雅的调用 Restful 服务的方式。
项目搭建
- 创建父工程(
修改父 pom.xml
等一系列操作) - 创建服务提供模块(
cloud-provider-payment8001
,修改pom.xml 相关配置,编写Entity,Controller,Dao,Service ,基础 CRUD 操作) - 创建服务消费模块(
cloud-consumer-order80
,修改pom.xml 相关配置,编写Entity,Controller,Dao,Service ,基础 CRUD 操作)
以上步骤,对于有经验的来说过于简单,此处就不再过多介绍。甩图一张,我就悄悄溜走了哈(◍°∇°◍)
如果你是初学者,请您跳转至链接下载查看即可。注意:在启动项目时,首先将 cloud-api-commons 项目 install 到本地仓库,在进行其他模块的启动。
下载地址:基于RestTemplate的微服务项目搭建 (提取码:bblk )
工程重构
由于服务提供模块(模块名:cloud-provider-payment8001
)、服务消费模块(模块名:cloud-consumer-order80
都有着相同的代码,如:Entity 实体类。代码多了的话,重复问题就非常严重,所以我们需要将 Entiry 实体类单独抽取出来,放到一个模块中,此模块就叫做 cloud-api-commons
。
目前,我们在该模块中只放着一个 entity 及其实体类
。类似 Dubbo 的开发,在接下来实际的开发中,我们还会在该模块下放一些 公共的 api 接口
。
本着对初学者友好,特增设此篇。
这么简单的内容,我还是赶快溜走吧,以防被"挨打"。Paola Paola