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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 快速学习项目工程初始化

开发者学堂课程【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。

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
dataframe获取指定列
dataframe获取指定列
1561 0
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
34142 1
|
Web App开发 前端开发
【前端异常】Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
【前端异常】Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
2199 0
|
10月前
|
人工智能 供应链 安全
实现企业级 MCP 服务统一管理和智能检索的实践
本文将深入剖析 MCP Server 的五种主流架构模式,并结合 Nacos 服务治理框架,为企业级 MCP 部署提供实用指南。
1549 63
|
12月前
|
人工智能 自然语言处理 Java
效率飙升!3 款免费 AI 神器,让代码编写快到飞起
在快节奏的软件开发中,效率至关重要。本文推荐三款免费AI工具助力开发者:ChatCode基于自然语言生成高质量代码框架;CodeChecker实时检查语法与风格问题,提升代码规范性;飞算JavaAI通过一键生成完整工程代码,大幅缩短开发周期。这些工具从不同角度优化开发流程,让开发者事半功倍。
|
负载均衡 监控 Java
@SentinelResource和openFeign+sentinel 对远程调用熔断降级加规则持久化的具体实现
自定义全局限流处理类openFeign+sentinel 对远程调用熔断降级
362 0
|
XML 前端开发 数据格式
echarts柱图前后端代码SpringCloud+Vue3
echarts柱图前后端代码SpringCloud+Vue3
305 1
|
Java Maven 微服务
【工程】-一文带你使用Gradle构建SpringBoot微服务项目
【工程】-一文带你使用Gradle构建SpringBoot微服务项目
2451 0
【工程】-一文带你使用Gradle构建SpringBoot微服务项目
|
JavaScript 数据库 Python
一篇文章搞懂flask_sqlalchemy常用操作
这篇文章介绍了Flask框架中SQLAlchemy库的常用操作,包括查询、删除和更新数据的方法和技巧。
1027 3
|
SQL 关系型数据库 MySQL
PowerDesigner16.5逆向工程导入
本文介绍了如何通过现有数据库或SQL将数据逆向导入PowerDesigner。首先,需下载并安装PowerDesigner 16.5(32位),并通过指定链接获取软件及教程。接着,安装对应的MySQL ODBC驱动,配置ODBC数据源。最后,在PowerDesigner中通过文件&gt;反向工程&gt;database选项导入数据库。若环境不匹配,可直接导入SQL脚本文件。文中提供了详细步骤与截图指导。
1091 0