ruoyi-vue-pro 开发指南 ruoyi-vue-pro 开发指南
      视频教程
        微服务版 (opens new window)
        作者博客 (opens new window)
        GitHub (opens new window)
        • 萌新必读

          • 简介
          • 交流群
          • 视频教程
          • 功能列表
          • 快速启动(后端项目)
            • 快速启动(前端项目)
            • 接口文档
            • 技术选型
            • 项目结构
            • 代码热加载
            • 一键改包
            • 删除功能
            • 内网穿透
            • 达梦数据库专属
          • 后端手册

            • 新建模块
            • 代码生成【单表】(新增功能)
            • 代码生成【主子表】
            • 代码生成(树表)
            • 功能权限
            • 数据权限
            • 用户体系
            • 三方登录
            • OAuth 2.0(SSO 单点登录)
            • SaaS 多租户【字段隔离】
            • SaaS 多租户【数据库隔离】
            • WebSocket 实时通信
            • 异常处理(错误码)
            • 参数校验、时间传参
            • 分页实现
            • VO 对象转换、数据翻译
            • 文件存储(上传下载)
            • Excel 导入导出
            • 操作日志、访问日志、异常日志
            • MyBatis 数据库
            • MyBatis 联表&分页查询
            • 多数据源(读写分离)、事务
            • Redis 缓存
            • 本地缓存
            • 异步任务
            • 分布式锁
            • 幂等性(防重复提交)
            • 请求限流(RateLimiter)
            • 单元测试
            • 验证码
            • 工具类 Util
            • 配置管理
            • 数据库文档
          • 中间件手册

            • 定时任务
            • 消息队列(内存)
            • 消息队列(Redis)
            • 消息队列(RocketMQ)
            • 消息队列(RabbitMQ)
            • 消息队列(Kafka)
            • 限流熔断
          • 工作流手册

            • 工作流演示
            • 功能开启
            • 工作流(达梦适配)
            • 审批接入(流程表单)
            • 审批接入(业务表单)
            • 流程设计器(BPMN)
            • 流程设计器(钉钉、飞书)
            • 选择审批人、发起人自选
            • 会签、或签、依次审批
            • 流程发起、取消、重新发起
            • 审批通过、不通过、驳回
            • 审批加签、减签
            • 审批转办、委派、抄送
            • 执行监听器、任务监听器
            • 流程表达式
            • 流程审批通知
          • 大屏手册

            • 报表设计器
            • 大屏设计器
          • 支付手册

            • 功能开启
            • 支付宝支付接入
            • 微信公众号支付接入
            • 微信小程序支付接入
            • 支付宝、微信退款接入
          • 会员手册

            • 功能开启
            • 微信公众号登录
            • 微信小程序登录
            • 会员用户、标签、分组
            • 会员等级、积分、签到
          • 商城手册

            • 商城演示
            • 功能开启
            • 商城装修
            • 【商品】商品分类
            • 【商品】商品属性
            • 【商品】商品 SPU 与 SKU
            • 【商品】商品评价
            • 【交易】购物车
            • 【交易】交易订单
            • 【交易】售后退款
            • 【交易】快递发货
            • 【交易】门店自提
            • 【交易】分销返佣
            • 【营销】优惠劵
            • 【营销】拼团活动
            • 【营销】秒杀活动
            • 【营销】砍价活动
            • 【营销】满减送
            • 【营销】限时折扣
            • 【营销】内容管理
            • 【统计】会员、商品、交易统计
          • ERP手册

            • ERP 演示
            • 功能开启
            • 【产品】产品信息、分类、单位
            • 【库存】产品库存、库存明细
            • 【库存】其它入库、其它出库
            • 【库存】库存调拨、库存盘点
            • 【采购】采购订单、入库、退货
            • 【销售】销售订单、出库、退货
            • 【财务】采购付款、销售收款
          • CRM手册

            • CRM 演示
            • 功能开启
            • 【线索】线索管理
            • 【客户】客户管理、公海客户
            • 【商机】商机管理、商机状态
            • 【合同】合同管理、合同提醒
            • 【回款】回款管理、回款计划
            • 【产品】产品管理、产品分类
            • 【通用】数据权限
            • 【通用】跟进记录、待办事项
          • 公众号手册

            • 功能开启
            • 公众号接入
            • 公众号粉丝
            • 公众号标签
            • 公众号消息
            • 自动回复
            • 公众号菜单
            • 公众号素材
            • 公众号图文
            • 公众号统计
          • 系统手册

            • 短信配置
            • 邮件配置
            • 站内信配置
            • 数据脱敏
            • 敏感词
            • 地区 & IP 库
          • 运维手册

            • 开发环境
            • Linux 部署
            • Docker 部署
            • Jenkins 部署
            • HTTPS 证书
            • 服务监控
          • 前端手册 Vue 3.x

            • 开发规范
            • 菜单路由
            • Icon 图标
            • 字典数据
            • 系统组件
            • 通用方法
            • 配置读取
            • CRUD 组件
            • 国际化
            • IDE 调试
            • 代码格式化
          • 前端手册 Vue 2.x

            • 开发规范
            • 菜单路由
            • Icon 图标
            • 字典数据
            • 系统组件
            • 通用方法
            • 配置读取
          • 更新日志

            • 【v2.1.0】开发中
            • 【v2.0.1】2024-03-01
            • 【v2.0.0】2024-01-26
            • 【v1.9.0】2023-12-01
            • 【v1.8.3】2023-10-24
          • 开发指南
          • 萌新必读
          芋道源码
          2022-03-01
          目录
          ?? 相关视频教程
          1. 克隆代码
          2. Apifox 接口工具
          3. 初始化 MySQL
          4. 初始化 Redis
          5. 启动后端项目
          5.1 编译项目
          5.2 启动项目
          5.3 启动其它模块
          6. 启动前端项目【简易】
          7. 启动前端项目【完整】
          666. 彩蛋

          快速启动(后端项目)

          目标:使用 IDEA 工具,将项目 ruoyi-vue-pro (opens new window) 的后端项目运行起来 ??

          整个过程非常简单,预计 10 分钟就可以完成,取决于大家的网速。

          ↓↓↓ 技术交流群,一起苦练技术基本功,每日精进 30 公里!↓↓↓

          交流群

          # ?? 相关视频教程

          • 从零开始 02:在 Windows 环境下,如何运行前后端项目? (opens new window)
          • 从零开始 03:在 MacOS 环境下,如何运行前后端项目? (opens new window)

          # 1. 克隆代码

          使用 IDEA (opens new window) 克隆 https://github.com/YunaiV/ruoyi-vue-pro (opens new window) 仓库的最新代码,并给该仓库一个 Star (opens new window)。

          注意:不建议使用 Eclipse,因为它没有支持 Lombok 和 Mapstruct 插件。

          克隆完成后,耐心等待 Maven 下载完相关的依赖。一定要注意:

          ① 默认情况下,使用 master 分支,它对应 JDK 8 + Spring Boot 2.7.18 版本。

          ② 如果你想体验 JDK 21 + Spring Boot 3.X 版本,需要切换到 master-jdk17 分支。

          项目一览

          友情提示:项目的每个模块的作用,可见 《开发指南 —— 项目结构》 文档。

          使用的 Spring Boot 版本较新,所以需要下载一段时间。趁着这个时间,胖友可以给项目添加一个 Star (opens new window),支持下艿艿。

          Star 一波

          # 2. Apifox 接口工具

          点击 Apifox (opens new window) 首页,下载对应的 Apifox 桌面版。如下图所示:

          为什么要下载 Apifox 桌面版?

          艿艿已经卸载 Postman,使用 Apifox 进行替代。国产软件,yyds 永远滴神!

          国内很多互联网公司,包括百度、阿里、腾讯、字节跳动等等在内,都在使用 Apifox 作为 API 工具。

          Apifox 下载

          解压后,双击进行安装即可。黑色界面,非常酷炫。

          Apifox 界面

          接口文档?

          阅读 《开发指南 —— 接口文档》 呀~~

          # 3. 初始化 MySQL

          友情提示?

          如果你是 PostgreSQL、Oracle、SQL Server、DM 等其它数据库,也是可以的。

          因为我主要使用 MySQL数据库为主,所以其它数据库的 SQL 文件可能存在滞后,可以加入 用户群 反馈。

          项目使用 MySQL 存储数据,所以需要启动一个 MySQL 服务,建议使用 5.7 版本。

          ① 创建一个名字为 ruoyi-vue-pro 数据库,【只要】 执行对应数据库类型的 sql (opens new window) 目录下的 ruoyi-vue-pro.sql SQL 文件,进行初始化。

          导入 MySQL 数据库

          ② 默认配置下,MySQL 需要启动在 3306 端口,并且账号是 root,密码是 123456。如果不一致,需要修改 application-local.yaml 配置文件。

          修改配置文件


          如果是 MySQL 数据库,不需要看 ③、④ 两点!!!

          ③ 【如果是 PostgreSQL、Oracle、SQL Server 数据库】,修改 yudao-spring-boot-starter-mybatis 模块的 pom.xml 文件,将对应的 JDBC Driver 的 optional 移除。如下图所示:

          数据库依赖

          注意,需要使用 IDEA 刷新下 Maven 的依赖。

          ④ 【如果是 DM 达梦数据库】建议先使用 MySQL 跑通,然后再阅读 《达梦数据库专属》 文档。

          # 4. 初始化 Redis

          项目使用 Redis 缓存数据,所以需要启动一个 Redis 服务。

          不会安装的胖友,可以选择阅读下文,良心的艿艿。

          • Windows 安装 Redis 指南:http://www.iocoder.cn/Redis/windows-install (opens new window)
          • Mac 安装 Redis 指南:http://www.iocoder.cn/Redis/mac-install (opens new window)

          默认配置下,Redis 启动在 6379 端口,不设置账号密码。如果不一致,需要修改 application-local.yaml 配置文件。

          修改配置文件

          # 5. 启动后端项目

          yudao-server (opens new window) 是后端项目,提供管理后台、用户 APP 的 RESTful API 接口。

          # 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 类不存在的问题。

          ② 如果执行报 Unknown lifecycle phase “.test.skip=true” 错误,使用 mvn clean install package -Dmaven.test.skip=true 即可。

          # 5.2 启动项目

          第二步,执行 YudaoServerApplication (opens new window) 类,进行启动。

          启动还是报类不存在?

          可能是 IDEA 的 bug,点击 [File -> Invalidate Caches] 菜单,清空下缓存,重启后在试试看。

          启动后端项目

          启动完成后,使用浏览器访问 http://127.0.0.1:48080 (opens new window) 地址,返回如下 JSON 字符串,说明成功。

          友情提示:注意,默认配置下,后端项目启动在 48080 端口。

          {
              "code": 401,
              "data": null,
              "msg": "账号未登录"
          }
          

          如果报 “Command line is too long” 错误,参考 《Intellij IDEA 运行时报 Command line is too long 解决方法 》 (opens new window) 文章解决,或者直接点击 YudaoServerApplication 蓝字部分!

          “Command line is too long” 错误

          # 5.3 启动其它模块

          考虑到启动速度,默认值启动 system 系统服务,infra 基础设施两个模块。如果你需要启动其它模块,可以参考下面的文档:

          • 《工作流手册 —— 工作流》
          • 《公众号手册 —— 功能开启》
          • 《支付手册 —— 功能开启》
          • 《大屏手册 —— 报表设计器》
          • 《商城手册 —— 功能开启》

          # 6. 启动前端项目【简易】

          友情提示:这是可选步骤,想要完整启动前端,可以直接看「7. 启动前端项目【完整】」小节噢!

          在 yudao-ui-static (opens new window) 项目中,提前编译好了前端项目的静态资源,可以直接体验和使用。操作步骤如下:

          ① 克隆 https://gitee.com/yudaocode/yudao-ui-static (opens new window) 项目,运行 UiConfiguration 类,进行启动。

          演示项目

          ② 访问 http://127.0.0.1:2048/admin-ui-vue2/ (opens new window) 地址,可以看到 Vue2 管理后台。

          ② 访问 http://127.0.0.1:2048/admin-ui-vue3/ (opens new window) 地址,可以看到 Vue3 + element-plus 管理后台。

          ③ 访问 http://127.0.0.1:2048/admin-ui-vben/ (opens new window) 地址,可以看到 Vue3 + vben(ant-design-vue) 管理后台。

          补充说明:

          前端项目是不定期编译,可能不是最新版本。

          如果需要最新版本,请继续往下看。

          # 7. 启动前端项目【完整】

          参考 《快速启动(前端项目)》 文档

          # 666. 彩蛋

          至此,我们已经完成了项目 ruoyi-vue-pro (opens new window) 的启动。

          胖友可以根据自己的兴趣,阅读相关源码。如果你想更快速的学习,可以看看 《视频教程 》 教程哟。

          架构图

          后面,艿艿会花大量的时间,继续优化这个项目。同时,输出与项目匹配的技术博客,方便胖友更好的学习与理解。

          还是那句话,?? 为开源继绝学,我辈义不容辞!


          嘿嘿嘿,记得一定要给 https://github.com/YunaiV/ruoyi-vue-pro (opens new window) 一个 star,这对艿艿真的很重要。

          Star 一波

          功能列表
          快速启动(前端项目)

          ← 功能列表 快速启动(前端项目)→

          Theme by Vdoing | Copyright © 2019-2024 芋道源码 | MIT License
            ×