项目工程初始化|学习笔记

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 快速学习项目工程初始化

开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段)项目工程初始化】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/703/detail/12406


项目工程初始化


内容介绍

一、工程浏览

二、工程关系图

三、总结


一、工程浏览

1.先在电脑上创建好一些基本的工程,在进行开发时,只需要先把工程加载到 idea 文件夹当中,然后进行编码就可以;

2.重点:了解这些工程分别是什么,以及它们的作用;image.png

(1)第一个工程是 shop-api,根据名字我们可以看出它是一个接口;

(2)在 shop-common 当中是一些公共类的工程;

(3)shop-coupon-service 是优惠券微服务的服务提供方;

(4)shop-goods-service 是商品微服务的服务提供方;

(5)shop-order-service 是订单微服务的服务提供方;

(6)shop-order-web 是 web 层,也是一个微服务,并且它可以通过远程 RPC 的方式来调用 order;

(7)shop-parent 是父工程,它对其他的工程进行聚合,管理所有的生命周期。它的里面配置了一些公共的依赖,因此只要子工程继承了父工程,便不需要添加那些公共的依赖;

(8)shop-pay-web 是支付的微服务,也是个 web 层;

在 shop-pojo 中设置的是实体类工程;

(9)shop-user-service 是用户微服务的服务提供方。

3.把这些工程导入到 idea 文件夹当中,然后分析工程的依赖以及模块之间的关系。

(1)把依赖加入到 shop-parent 当中,在这些依赖中,对于 shop-parent 来说,

< parent >

< groupId > org·springframework . boot < / groupId > < artifactId > spring-boot-starter-parent < / artifactId >

< version >2.θ.1.RELEASE< / version >

< / parent >

这段程序编码主要管理一些公共的部分,主要管理一些公共的依赖,所以我们把 spring-boot-starter-parent 放到这段程序编码里,让它去继承。然后如果其他的子工程继承了 shop-parent,就相当于继承了 spring-boot-starter-parent。

shop-parent 里面还添加了很多依赖,

dubbo,spring-boot-starter,zookeeper,Test,RocketMQ 和 Lombok。

这些依赖下面聚合了一些其他的子模块。然后设置了一个 target 为1.8的编译的版本。

这便是父工程当中的一个依赖。

(2)因为 shop-api 会用到 shop-pojo 中的实体类,所以 shop-api 需要继承 shop-pojo。

(3)shop-common 当中的依赖可以到时候根据个人需要来添加。

(4)shop-coupon-service 是服务的提供方,因为将来它要操纵数据库,所以它要加入 mybatis 启动器。把 mybitis 的启动依赖添加到这里。

然后 mysql 驱动也需要添加到 shop-coupon-service 里,可以看到 mysql 驱动依赖 shop-api,是因为我们要对 shop-api 接口进行实现。mysql 驱动也依赖 shop-common 工程,来进行公共类的使用。mysql 驱动还依赖 shop-pojo

这便是 shop-coupon-service 的处理。

(5)shop-goods-service,shop-order-service,

shop-user-service, shop-coupon-service,shop-pay-service这几个 service 的依赖都相差不大。

(6)如果某些依赖没有加上,我们可以自己手动配置一下。比如在 shop-user-service 当中,我们可以看到没有加入 pojo,所以我们可以手动加入 pojo。这几个 service 都需要用到 pojo 依赖。shop-pay-service 里没有pojo,因此我们也手动加入 pojo。shop-order-service 和 shop-goods-service 也是如此。


二、工程关系图

image.png

根据刚才的分析,逻辑上还是 web 层去调用服务层,那么怎么调用呢?是通过远程 RPC 的方式去调用的,通过接口去调用。服务层所用到的一些技术框架主要包含 RocketMQ,DUBBO,zookeeper,

image.png

Spring Boot。服务层在进行数据持久化的过程中会用到储存层中的 MySQL。


三、总结

在项目初始化的这个地方,主要讲了两部分,包括工程浏览(介绍了工程的作用),其中 shop-parent 是父工程,它聚合了其他的子工程,这些工程里 shop-api,shop-common,shop-pojo 是价工程,shop-parent 是 com 工程,shop-goods-service,shop-order-service,

shop-user-service, shop-coupon-service,shop-pay-service,shop-order-web,shop-pay-web都是 web 工程, 并且都是微服务,我们使用 spring boot 去开发这种微服务项目。

然后我们通过工程关系图说明了当前工程之间的依赖关系。web 层包括 shop-order-web 和 shop-pay-web。

shop-order-web 是订单系统的 web 层,shop-pay-web 是支付系统的 web 层,中间通过 api 接口去调用服务提供方,服务提供方一共有5个,分别是优惠券服务、商品服务、订单服务、支付服务和用户服务。然后服务提供方再进行数据的存储。数据查询时会用到 MySQL。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Java
【小技巧】复制一个模块到你的工程(学习阶段很实用)
【小技巧】复制一个模块到你的工程(学习阶段很实用)
|
6月前
|
Java Maven Spring
创建Springboot工程过程介绍
创建Springboot工程过程介绍
|
JSON API 开发工具
AdonisJs项目初始化
AdonisJs项目初始化
50 0
|
项目管理 C++
VS2010一个解决方案下新建多个项目出现的问题和方法
VS2010一个解决方案下新建多个项目出现的问题和方法
157 0
VS2010一个解决方案下新建多个项目出现的问题和方法
|
资源调度 JavaScript
项目初始化
项目初始化
75 0
|
安全 Java Maven
案例父工程创建|学习笔记
快速学习案例父工程创建
59 0
案例父工程创建|学习笔记
|
XML JSON 分布式计算
工程搭建_创建|学习笔记
快速学习工程搭建_创建
60 0
工程搭建_创建|学习笔记
|
Java Apache Maven
创建父工程|学习笔记
快速学习创建父工程
65 0
创建父工程|学习笔记
|
资源调度
学习笔记jira项目2-初始化项目
学习笔记jira项目2-初始化项目
61 0
|
druid Java 关系型数据库
父工程构建步骤|学习笔记
快速学习父工程构建步骤
70 0