目录
项目选型
项目安装-本地运行起来
软件安装:
项目启动:
总结&答疑
项目选型
软件开发,基本上都不会从0开始,一般都是在其他项目或者组件的基础上进行整合优化迭代,站在巨人肩膀上才能看得更远, 其实这条规则也适用于任何行业。
软件项目组件选型最好的地方就是公有git库 ,最出名是: GitHub · Build and ship software on a single, collaborative platform · GitHub Gitee - 基于 Git 的代码托管和研发协作平台 国内的
找一个符合国人习惯的springcloud项目,通过搜索发现芋道spring boot 系列遥遥领先:
选择springcloud 版本,关于SpringBoot和SpringCloud的关系请看我另外一篇文章:
Spring、SpringBoot、SpringCloud关系是什么?你真的需要SpringCloud吗?-CSDN博客
项目安装-本地运行起来
芋道官网提供了比较详细的安装步骤,本章主要介绍我习惯使用的好的软件和安装过程中遇到的问题和解决方案。
搭建yudao-cloud 必须依赖的软件有:
IntelliJ IDEA | java 集成开发环境,商业软件,非常好用,java程序员标配 |
mysql server | 8.2.0 和 yudao-cloud 源码里面sql文件版本一致,避免sql版本兼容问题产生麻烦 |
DBeaver | sql客户单,基于jdbc连接,支持各种数据库,非常好用,开源软件 |
git | 拉项目源码: https://gitee.com/zhijiantianya/yudao-cloud |
redis server | 缓存, yudao-cloud 必须依赖组件 |
AnotherRedisDesktopManager | 开源redis 客户端 |
nacos-server | yudao-cloud 注册中心 |
软件安装:
1. IntelliJ IDEA git jdk17 安装步骤省略
需要下载两个项目:
yuddao-cloud java后端: https://gitee.com/zhijiantianya/yudao-cloud
yudao-demo vue前端: https://gitee.com/yudaocode/yudao-demo
yuddao-cloud 导入到idea 后,切换到 master-jdk17分支, springboot3 需要jdk17
前端项目导入后, 我们直接用vue3的版本:
代码拉下来后,其实目录结构有点问题,不是maven的标准结构,IDEA导入后识别不了ElementPlusApplication.java ,解决办法:新建src目录, 把main拖到src里面去,点击右上角maven刷新按钮
2. mysql server 安装注意事项:
版本: 8.2.0
为了避免yudao-cloud源码里面改一堆配置文件,端口,root密码和源码保持一致:
端口:3306
root 密码: 123456
3. DBeaver 安装:安装完成后,创建一个mysql 连接
连接过程中如果出现 PublicKeyRetrieval 相关错误,将驱动属性这个值改成true .
4.DBeaver 连接成功后,建库: ruoyi-vue-pro
5. DBeaver 里面执行sql, 建表:
不要将sql粘贴到DBeaver 的Sql窗口执行,因为该文件是sqldump出来的,执行会报错。
你可以用DBeaver导入(DBeaver底层也是命令行,命令见第三张图红框内容),也可以直接用mysql 命令行导入:
5. 安装redis-server 和客户端:
为了简单,我习惯docker 安装 redis-server
docker pull redis:7.2.6
docker run -p 6379:6379 --name redis7 -d redis:7.2.6
AnotherRedisDesktopManager客户单 测试redis 是否安装成功:
6. 安装nacos-server 单机版:
docker 安装, nacos-server 需要把多个端口映射出来。
docker pull nacos/nacos-server:2.0.2
#注意这里要映射多个端口:
docker run --name nacos -e MODE=standalone -p 8848:8848 -p 9848:9848 -d nacos/nacos-server:2.0.2
你也可以选择本机安装, nacos-server也是spring-boot开发的
单机版启动的时候需要加参数 startup.cmd -m standalone ,否则会报错
cd D:\Program Files\nacos-server-2.4.3\nacos\bin
.\startup.cmd -m standalone
安装完成登录并创建namespace
http://127.0.0.1:8848/nacos/index.html#/login 用户名/密码:nacos/nacos
项目启动:
启动后端,只要启动gateway 和 system 这两个模块就可以看效果了。
启动后查看nacos注册中心数据(需要切换到dev namespace):
启动前端:
浏览器访问:
http://localhost:2048/
总结&答疑
1. 这是一个spring微服务项目吗?为什么微服务很多组件、概念这里没涉及?
这是基于springcloud的微服务,最精简版, 只用了2个与微服务概念相关的服务治理组件,所有的微服务架构必须要有这2个组件。
gateway : 业务网关
nacos: 注册中心
2. yudao-demo 这个明显是java项目,为什么叫前端项目?
这里就是将前端源码编译后,直接放到springboot项目里,springboot内置了一个tomcat,这里整个 yudao-demo 项目就是个tomcat , 充当一个静态文件服务器角色
前端nodejs+vue 技术栈也比较复杂,如果没写过vue的后端直接用vue源码编译,估计很费劲,原作者为了让后端开发快速上手就用了这么个变通方法,考虑的很周到。目前为了快速演示,先这么运行着,后面再讲vue前端源码。
3.项目架构和各组件调用关系:
静态文件部分:
浏览器 ----> yudao-demo(tomcat+静态js 图片等文件)---> 静态文件返回给浏览器完成页面渲染
接口数据部分:
浏览器页面(js发起的ajax请求)---->gateway(统一转发到后端各个模块,借助nacos注册中心) -----> 后端各个业务模块(目前只启动了 system-server)