芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
♥️作者:小宋1021
🤵♂️个人主页:小宋1021主页
♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!!
🎈🎈加油! 加油! 加油! 加油
🎈欢迎评论 💬点赞👍🏻 收藏 📂加关注+!
学习目标:芋道开发框架
目录
学习目标:芋道开发框架
一、引言
平台简介
系统功能
基础设施
研发工具
芋道参考文档
芋道源码
总结:
准备阶段
后端
一、引言
在软件开发的旅程中,我们经常面临大量重复性的增删改查(CRUD)操作,这无疑增加了工作的繁琐性和机械性。为了应对这一挑战,低代码开发平台应运而生,它们以提高开发效率为己任,尤其受到中小企业的青睐。在众多开发框架中,芋道框架以其卓越的性能和功能脱颖而出,成为开发者的新宠。
我们公司也采用芋道开发框架成功实施了多个项目。今天,我愿意分享我的使用经验,包括如何高效利用这个框架,以及在开发过程中遇到的一些挑战和解决方案,希望能帮助大家避免不必要的弯路。
下面,我将简要介绍芋道平台的核心能力及其特色功能:
-
高效的CRUD操作支持:芋道框架通过自动化代码生成,简化了常规的增删改查操作,让开发者能够更专注于业务逻辑的构建。
-
灵活的模块化设计:框架采用模块化设计,便于功能的扩展和维护,支持按需加载,提高了应用的灵活性和可维护性。
-
强大的集成能力:芋道框架支持与多种数据库、消息队列和第三方服务的集成,为构建复杂的企业级应用提供了坚实的基础。
-
用户友好的界面:提供直观的可视化界面,使得即使是非技术用户也能轻松上手,进行简单的配置和定制。
-
多租户架构支持:芋道框架支持多租户架构,能够满足不同客户的需求,同时保持应用的高性能和稳定性。
-
全面的文档和社区支持:芋道拥有详尽的开发文档和活跃的开发者社区,为开发者提供了丰富的学习资源和问题解答。
-
安全性保障:内置的安全机制确保了应用的数据安全和访问控制,保护企业数据不受威胁。
通过这些功能,芋道框架不仅提升了开发效率,也保证了应用的质量和性能。我们期待与大家分享更多关于芋道框架的深入使用技巧和最佳实践,共同推动软件开发的创新和进步。
平台简介
芋道,一套全部开源的企业级的快速开发平台,毫无保留给个人及企业免费使用。
- 前端采用 vue-element-admin。
- 后端采用 Spring Boot、MySQL、Redis。
- 权限认证使用 Spring Security & Token,支持多终端认证系统。
- 支持加载动态权限菜单,多方式轻松权限控制。
- 高效率开发,使用代码生成器可以一键生成前后端代码。
系统功能
| 功能 | 描述 | |
|---|---|---|
| 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 | |
| 在线用户 | 当前系统中活跃用户状态监控,支持手动踢下线 | |
| 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | |
| 菜单管理 | 配置系统菜单,操作权限,按钮权限标识等 | |
| 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 | |
| 岗位管理 | 配置系统用户所属担任职务 | |
| 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | |
| 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、云片等主流短信平台 | |
| 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 | |
| 登录日志 | 系统登录日志记录查询,包含登录异常 | |
| 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 | |
| 通知公告 | 系统通知公告信息发布维护 |
基础设施
| 功能 | 描述 | |
|---|---|---|
| 配置管理 | 对系统动态配置常用参数,支持 SpringBoot 加载 | |
| 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志 | |
| 文件服务 | 支持本地文件存储,同时支持兼容 Amazon S3 协议的云服务、开源组件 | |
| API 日志 | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题 | |
| MySQL 监控 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈 | |
| Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理 | |
| Java 监控 | 基于 Spring Boot Admin 实现 Java 应用的监控 | |
| 链路追踪 | 接入 SkyWalking 组件,实现链路追踪 | |
| 日志中心 | 接入 SkyWalking 组件,实现日志中心 | |
| 分布式锁 | 基于 Redis 实现分布式锁,满足并发场景 | |
| 幂等组件 | 基于 Redis 实现幂等组件,解决重复请求问题 | |
| 服务保障 | 基于 Resilience4j 实现服务的稳定性,包括限流、熔断等功能 | |
| 日志服务 | 轻量级日志中心,查看远程服务器的日志 | |
| 单元测试 | 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等 |
研发工具
| 功能 | 描述 | |
|---|---|---|
| 代码生成 | 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载 | |
| 系统接口 | 基于 Swagger 自动生成相关的 RESTful API 接口文档 | |
| 数据库文档 | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式 | |
| 表单构建 | 拖动表单元素生成相应的 HTML 代码 |
芋道参考文档
yudao-cloud 开发指南
芋道源码
yudao-cloud: ruoyi-vue-pro 全新 Cloud 版本,优化重构所有功能。基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城、CRM、ERP 等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!
总结:
可以看出来芋道开发框架是非常全能的,我也用这个框架开发了三个项目所使用的技术栈后端为SpringCloud,前端使用的是Vue3,数据库主要用的两个,MySQL和postgre,主要使用的是他的代码生成功能,在此需要注意的是芋道开发框架目前只支持MySQL的建表插入语句,其余数据库需要另做更改,我一会会去介绍postgre的使用方式。
那就让我们开始学习创建一个项目吧!
准备阶段
后端
去我上面给的链接里面下载下来然后用idea打开
如果不是企业项目的话,个人使用直接再命令行里执行这一段代码即可
git clone https://gitee.com/zhijiantianya/yudao-cloud.git



这样就下载好了,使用idea打开即可

这就是后端打开的样子,由于这是一个SpringCloud微服务框架,每一个module模块都是一个单独的服务,可以根据自己的需求对模块来进行删除或者保留,而这个系统里的核心模块也就是一定要保留的模块分别是yudao-moudle-getway、yudao-moudle-system(系统功能模块)、yudao-moudle-infra(基础设施模块),作者也在文档中有所标注。

可以看出来芋道框架的功能是很强大的,由于我们要做一个演示所以就把多余的功能模块删掉。

然后把项目pom文件中的响应报红的依赖删除掉即可

如果你在启动项目的途中遇到了“Caused by: java.net.ConnectException: Connection refused: getsockopt”这个错误说明你没有启动nacos,我们还需要启动一个nacos,没有nacos的小伙伴需要下载一个。
nacos官网
Releases · alibaba/nacos (github.com)

这里一定要看好了要下载server版本的,要记得往下划一划,不要下载client版本的。nacos下载好以后在路径栏里输入cmd进入控制终端,输入以下语句启动nacos
startup -m standalone


看到上面这个页面就说明nacos启动成功了,再回到后端启动getway,就会发现启动成功了。

然后要下载好tomcat,如果没有tomcat是没有办法启动的,下面是tomcat的链接:
Tomcat下载链接:Apache Tomcat® - Welcome!
相关文章:
芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
♥️作者:小宋1021 🤵♂️个人主页:小宋1021主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油!…...
Java程序打印日志
一、maven依赖 POM文件中添加以下依赖,maven依赖的jar包版本可以在maven central repository 查看 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version><…...
深入理解C++ 中的可调⽤对象
C中的可调⽤对象总结 普通函数类成员函数类静态成员函数与类成员函数的区别 仿函数简单示例高级用法-状态保持优缺点优点缺点 函数指针获取函数地址声明并调用函数指针 lambda表达式语法定义捕获单个捕获符 std::function()协程 可调用对象用处⼴泛: ⽐如在使⽤⼀些…...
汇编程序调用 C 程序详解
文章目录 1. ATPCS 规则 2. 汇编和C程序传递参数 汇编程序向 C 程序的函数传递参数 C 程序返回结果给汇编程序 代码示例 3. C 函数使用栈 4. C 语言中读写寄存器 在嵌入式开发中,经常需要在 C 程序和 ARM 汇编程序之间进行相互调用。为了保证这些调用的正确性…...
代码随想三刷图论篇1
代码随想三刷图论篇1 98. 所有可达路径题目代码99. 岛屿数量题目代码100. 岛屿的最大面积题目代码101. 孤岛的总面积题目代码102. 沉没孤岛题目代码103. 水流问题题目代码98. 所有可达路径 题目 链接 代码 import java.util.*;class Main{public static void main(String […...
Windows 快捷键汇总
Windows 快捷键汇总 前言进阶快捷键【最好用】Chrome 常用快捷键【跟 Windows 快捷键不搭杆,但常用】基础快捷键扩展快捷键 前言 Coder 苦鼠标久已,整理汇总 Windows 快捷键包括一些常用的快捷键,比如“浏览器”相关的快捷键内容分为四小节&…...
微服务有哪些组件?
1.注册中心:用于服务的注册和发现,管理微服务的地址 Nacos,Eureka 2.配置中心:集中管理微服务的配置中心 Nacos config 3.远程调用:用于不同微服务间的通信和协作 RESTful API(RestTemplate࿰…...
camera-qsc-crosstalk校准数据XTALK回写
问题背景 手机越做越紧凑,需要模组和芯片尺寸越做越小,在尺寸一定的基础上,高像素和大像素,对于手机摄像头来说,一直是一对矛盾的存在。 高像素:带来高分辨率画质大像素:带来暗态下高感光度和…...
混合贪心算法求解地铁线路调度
一、问题描述 城市轨道交通的繁荣发展,带来了车辆资源需求的日益增加。如何兼顾运营服务水平和运营成本,以最少的车底优质地完成运输任务成为一大严峻问题。本题在后续的描述中将由多辆动车和拖车组合而成的车组称为车底。在日常的运营组织中࿰…...
vue项目:关闭页面,删除本地登录信息
vue项目:关闭页面,删除本地登录信息 代码 代码 import { removeToken } from /utils/auth //区分关闭和刷新页面,关闭时退出登录 window.onload ()>{if(!window.sessionStorage["tempFlag"]){removeToken();location.reload()…...
获奖案例回顾|基于卫星遥感和无人机的水稻全流程风险减量项目
引言 在现代农业保险领域,技术创新是推动行业进步的关键。珈和科技与太平财险的合作,旨在利用先进的卫星遥感和无人机技术,解决传统农业保险面临的诸多挑战,从而提升保险效率和服务质量。本次分享的项目案例获得了《金融电子化》…...
全栈 Discord 克隆:Next.js 13、React、Socket.io、Prisma、Tailwind、MySQL笔记(一)
前言 阅读本文你需要有 Next.js 基础 React 基础 Prisma 基础 tailwind 基础 MySql基础 准备工作 打开网站 https://ui.shadcn.com/docs 这不是一个组件库。它是可重用组件的集合,您可以将其复制并粘贴到应用中。 打开installation 选择Next.js 也就是此页面…...
【Unity】制作简易计时器
一、创建计时器相关的变量 我们需要创建三个变量,分别是:计时时长、计时剩余时长、是否处于计时状态。 public float duration;//计时时长 public float remain; //计时剩余时长 public bool isCount; //是否处于计时状态 二、初始化变量 我们可以直…...
TDesign组件库日常应用的一些注意事项
【前言】Element(饿了么开源组件库)在国内使用的普及率和覆盖率高于TDesign-vue(腾讯开源组件库),这也导致日常开发遇到组件使用上的疑惑时,网上几乎搜索不到其文章解决方案,只能深挖官方文档或…...
51单片机7(点亮第一个LED)
一、LED简介 1、LED,它是一个发光二极管,它具有单向导电性,那么通过5毫安的一个电流,就可以使它发光,那么电流越大,它的发光也就越强,但是电流不能过大,过大会把这个发光二极管给烧…...
基于Vue和UCharts的前端组件化开发:实现高效、可维护的词云图与进度条组件
基于Vue和UCharts的前端组件化开发:实现高效、可维护的词云图与进度条组件 摘要 随着前端技术的迅速发展和业务场景的日益复杂,传统的整块应用开发方式已无法满足现代开发的需求。组件化开发作为一种有效的解决方案,能够将系统拆分为独立、…...
CentOS 系统监控项
在维护和优化 CentOS 系统时,实时监控硬件和资源的使用情况非常重要。为了满足工作需要,可以定时采集 CentOS 系统相关的监控数据,并将其推送到 Prometheus 进行集中监控和管理。以下是日常采集项及对应的 shell 命令,并附上每项命…...
连锁直营店小程序赋能多店如何管理
如商超便利店卖货线下场景,也有不少品牌以同城多店和多地开店经营为主,获取店铺周围客户和散流,如今线上重要性凸显,品牌电商发展是经营的重要方式之一,也是完善同城和外地客户随时便捷消费的方式之一。 多个门店管理…...
决策树算法入门到精通:全面解析与案例实现
1. 介绍决策树算法 决策树的基本概念和原理 决策树是一种基于树形结构的分类和回归方法,通过对数据集进行递归地划分,每个内部节点表示一个属性上的判断,每个叶节点代表一种类别或者数值。 决策树在机器学习中的应用场景 分类问题…...
LangChain —— 多模态大模型的 prompt template
文章目录 一、如何直接将多模态数据传输给模型二、如何使用 mutimodal prompts 一、如何直接将多模态数据传输给模型 在这里,我们演示了如何将多模式输入直接传递给模型。对于其他的支持多模态输入的模型提供者,langchain 在类中提供了内在逻辑来转化为期…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
