目标:使用 IDEA 工具,将后端项目 xgsym-cloud运行起来 。
1. 克隆代码
使用 IDEA工具克隆 https://gitee.com/xgsym/xgsym-cloud仓库的最新代码,并给该仓库一个 Star。
注意:不建议使用 Eclipse,因为它没有支持 Lombok 和 Mapstruct 插件。
克隆完成后,耐心等待 Maven 下载完相关的依赖。一定要注意:
默认情况下,使用 master 分支,它对应 JDK 8 + Spring Boot 2.7.18 版本。
使用的 Spring Cloud 版本较新,所以需要下载一段时间。大家可以等等。
2. Apifox 接口工具
点击 Apifox首页,下载对应的 Apifox 桌面版。如下图所示:
解压后,双击进行安装即可。黑色界面,非常酷炫。
接口文档如下:
阅读 《开发指南 —— 接口文档》
3. 基础设施(必选)
本小节的基础设施【必须】安装,否则项目无法启动。
3.1 初始化 MySQL
友情提示?
如果你是 PostgreSQL、Oracle、SQL Server、达梦/人大金库 等其它数据库,也是可以的。
因为我们主要使用 MySQL数据库为主,所以其它数据库的 SQL 文件可能存在滞后,可以加入 用户群 反馈。
项目使用 MySQL 存储数据,所以需要启动一个 MySQL 服务,建议使用 5.7版本。
① 创建一个名字为 xgsym 数据库,只要执行对应数据库类型的 sql目录下的 xgsym.sql SQL 文件,进行初始化。
② 默认配置下,MySQL 需要启动在 3306 端口,并且账号是 root,密码是 root。如果不一致,需要修改 application-local.yaml 配置文件。
如果是 MySQL 数据库,不需要看 ③、④ 两点!
③ 【如果是 PostgreSQL、Oracle、SQL Server 数据库】,修改 xgs-spring-boot-starter-mybatis 模块的 pom.xml 文件,将对应的 JDBC Driver 的 optional 移除。如下图所示:
注意,需要使用 IDEA 刷新下 Maven 的依赖。
④ 【如果是 DM 达梦数据库】建议先使用 MySQL 跑通,然后再阅读达梦数据库专属文档。
3.2 初始化 Redis
项目使用 Redis 缓存数据,所以需要启动一个 Redis 服务。
默认配置下,Redis 启动在 6379 端口,不设置账号密码。如果不一致,需要修改 application-local.yaml配置文件。
3.3 初始化 Nacos
项目使用 Nacos 作为注册中心和配置中心,只需要配置「单机部署(最简模式)」即可。
安装配置完成之后,需要创建 dev命名空间,如下图所示:
4. 基础设施(可选)
本小节的基础设施【可选】安装,不影响项目的启动,可在项目启动后再安装。
4.1 RocketMQ
项目使用 RocketMQ 作为消息中心和事件总线,只需要配置「单机部署」即可。
4.2 XXL-Job
① 项目使用 XXL-Job 作为定时任务,只需要配置「搭建调度中心」即可。
注意,需要修改 application.yaml 配置文件,修改 server.port 为 9090。
② 默认配置下,本地 local 环境的定时任务是关闭的,避免控制台一直报错。如果要开启,请参考「定时任务」文档。
4.3 Seata
TODO 接入中
4.4 Sentinel
TODO 接入中
4.5 Elasticsearch
TODO 接入中
5. 启动后端项目
5.1 编译项目
使用 IDEA 打开 Terminal 终端,在根目录下直接执行 mvn clean install package -Dmaven.test.skip=true命令,将项目进行初始化的打包,预计需要 1 分钟左右。成功后,控制台日志如下:
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:12 min
[INFO] Finished at: 2022-02-12T09:52:38+08:00
[INFO] Final Memory: 250M/2256M
[INFO] ------------------------------------------------------------------------
Maven 补充说明:
① 只有首次需要执行 Maven 命令,解决基础 pom.xml 文件不存在,导致报 BaseDbUnitTest 类不存在的问题。
5.2 启动 gateway 服务
执行 GatewayServerApplication 类,进行启动。
启动还是报类不存在?
可能是 IDEA 的 bug,点击 [File -> Invalidate Caches] 菜单,清空下缓存,重启后在试试看。
启动完成后,使用浏览器访问 http://127.0.0.1:48080地址,返回如下 JSON 字符串,说明成功。
注意,默认配置下,网关启动在 48080 端口。
{"code":404,"data":null,"msg":null}
如果报 “Command line is too long” 错误,百度参考《Intellij IDEA 运行时报 Command line is too long 解决方法》文章解决,或者直接点击 XgsServerApplication 蓝字部分!
5.3 启动 system 服务
执行 SystemServerApplication 类,进行启动。
启动完成后,使用浏览器访问 http://127.0.0.1:48081/admin-api/system/和 http://127.0.0.1:48080/admin-api/system/地址,都返回如下 JSON 字符串,说明成功。
注意,默认配置下,xgs-module-system 服务启动在 48081 端口。
{"code":401,"data":null,"msg":"账号未登录"}
5.4 启动 infra 服务
执行 InfraServerApplication 类,进行启动。
启动完成后,使用浏览器访问 http://127.0.0.1:48082/admin-api/infra/和 http://127.0.0.1:48080/admin-api/infra/地址,都返回如下 JSON 字符串,说明成功。
注意,默认配置下,xgs-module-infra 服务启动在 48082 端口。
{"code":401,"data":null,"msg":"账号未登录"}
5.4 启动 bpm 服务
参见 《工作流手册》文档。
5.5 启动 report 服务
参见 《大屏手册》文档。
5.6 启动 pay 服务
参见 《支付手册》文档。
5.7 启动 pay 服务
参见 《公众号手册》文档。
5.8 启动 mall 服务
参见 《商城手册》文档。
6.反馈交流
欢迎加入用户交流群,一起学习技术练基本功,每日精进。
如果微信提示“提示对方被加好友过于频繁,请稍后再试?”,可以过一会再试试看!项目关注和使用的人太多了~