1、构建父工程Project

1、基本步骤

2、导入父工程pom及整合相关依赖(springboot、springcloud、mysql、durid、log4j等)

2.1 dependencyManagement和dependencies的区别

使用dependencyManagement可以统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,不用每个模块项目都弄一个版本号,不利于管理,当需要变更版本号的时候只需要在父类容器里更新,不需要任何一个子项目的修改;如果某个子项目需要另外一个特殊的版本号时,只需要在自己的模块dependencies中声明一个版本号即可。子类就会使用子类声明的版本号,不继承于父类版本号。
dependencyManagement对所依赖的 jar 包进行版本管理的管理器。
dependencyManagement 其实只是声明依赖,并不实际引入任何依赖。

3、Rest微服务工程构建(以订单支付模块为例)

image.png

3.1、Rest微服务工程(业务类编写)

以订单支付管理系统为例:
1、根据需求在mysql中创建订单表,包含编号、订单号字段。
2、创建entility类包,主要定义数据库操作的表、写出给客户端的CommonResult(json封装体,传给前端的)
3、编写mapper层,实现与数据库的交互
4、在resource/mapper文件下创建mapper层对应的xml配置文件,实现数据库访问的具体逻辑
5、编写Service层,包括ServiceDao接口和ServiceImp的实现类
6、创建Controller层,编写具体与客户端进行交互的业务逻辑

4、Rest微服务工程(不同微服务工程之间的调用)

例如:新建一个订单消费模块,实现与订单支付模块的交互

4.1 RestTemplate方法

RestTemplate提供了多种便捷访问远程Http服务的方法,是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集,能够实现不同服务工程的访问(如通过端口号80——访问到端口号8001)
使用restTemplate访问restful接口非常的简单粗暴,(url、requestMap、ResponseBean.class)这三个参数分别代表REST请求地址、请求参数、HTTP响应转换被转换成的对象类型。

4.2 RestTemplate使用步骤

1、创建配置类Configuration,添加RestTemplate
2、在访问的Controller类中调用post/getForObject( )

5、工程重构(实现不同子项目相同内容的提取)

创建cloud-api-commons子项目——专门实现不同子项目之间的公共内容的提取,方便维护与管理。

注:公共提取的内容路径需要一样,先在本项目中建包,然后在拷贝