当前位置: 首页 > news >正文

芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略

♥️作者:小宋1021
🤵‍♂️个人主页:小宋1021主页
♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!!
🎈🎈加油! 加油! 加油! 加油
🎈欢迎评论 💬点赞👍🏻 收藏 📂加关注+!


学习目标:芋道开发框架

目录

学习目标:芋道开发框架

一、引言

平台简介

系统功能

基础设施

研发工具

芋道参考文档

芋道源码

总结:

准备阶段

后端


一、引言

在软件开发的旅程中,我们经常面临大量重复性的增删改查(CRUD)操作,这无疑增加了工作的繁琐性和机械性。为了应对这一挑战,低代码开发平台应运而生,它们以提高开发效率为己任,尤其受到中小企业的青睐。在众多开发框架中,芋道框架以其卓越的性能和功能脱颖而出,成为开发者的新宠。

我们公司也采用芋道开发框架成功实施了多个项目。今天,我愿意分享我的使用经验,包括如何高效利用这个框架,以及在开发过程中遇到的一些挑战和解决方案,希望能帮助大家避免不必要的弯路。

下面,我将简要介绍芋道平台的核心能力及其特色功能:

  1. 高效的CRUD操作支持:芋道框架通过自动化代码生成,简化了常规的增删改查操作,让开发者能够更专注于业务逻辑的构建。

  2. 灵活的模块化设计:框架采用模块化设计,便于功能的扩展和维护,支持按需加载,提高了应用的灵活性和可维护性。

  3. 强大的集成能力:芋道框架支持与多种数据库、消息队列和第三方服务的集成,为构建复杂的企业级应用提供了坚实的基础。

  4. 用户友好的界面:提供直观的可视化界面,使得即使是非技术用户也能轻松上手,进行简单的配置和定制。

  5. 多租户架构支持:芋道框架支持多租户架构,能够满足不同客户的需求,同时保持应用的高性能和稳定性。

  6. 全面的文档和社区支持:芋道拥有详尽的开发文档和活跃的开发者社区,为开发者提供了丰富的学习资源和问题解答。

  7. 安全性保障:内置的安全机制确保了应用的数据安全和访问控制,保护企业数据不受威胁。

通过这些功能,芋道框架不仅提升了开发效率,也保证了应用的质量和性能。我们期待与大家分享更多关于芋道框架的深入使用技巧和最佳实践,共同推动软件开发的创新和进步。

平台简介

芋道,一套全部开源企业级的快速开发平台,毫无保留给个人及企业免费使用。

  • 前端采用 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,数据库主要用的两个,MySQLpostgre,主要使用的是他的代码生成功能,在此需要注意的是芋道开发框架目前只支持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主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油&#xff01…...

Java程序打印日志

一、maven依赖 POM文件中添加以下依赖&#xff0c;maven依赖的jar包版本可以在maven central repository 查看 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version><…...

深入理解C++ 中的可调⽤对象

C中的可调⽤对象总结 普通函数类成员函数类静态成员函数与类成员函数的区别 仿函数简单示例高级用法-状态保持优缺点优点缺点 函数指针获取函数地址声明并调用函数指针 lambda表达式语法定义捕获单个捕获符 std::function()协程 可调用对象用处⼴泛&#xff1a; ⽐如在使⽤⼀些…...

汇编程序调用 C 程序详解

文章目录 1. ATPCS 规则 2. 汇编和C程序传递参数 汇编程序向 C 程序的函数传递参数 C 程序返回结果给汇编程序 代码示例 3. C 函数使用栈 4. C 语言中读写寄存器 在嵌入式开发中&#xff0c;经常需要在 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 快捷键不搭杆&#xff0c;但常用】基础快捷键扩展快捷键 前言 Coder 苦鼠标久已&#xff0c;整理汇总 Windows 快捷键包括一些常用的快捷键&#xff0c;比如“浏览器”相关的快捷键内容分为四小节&…...

微服务有哪些组件?

1.注册中心&#xff1a;用于服务的注册和发现&#xff0c;管理微服务的地址 Nacos&#xff0c;Eureka 2.配置中心&#xff1a;集中管理微服务的配置中心 Nacos config 3.远程调用&#xff1a;用于不同微服务间的通信和协作 RESTful API&#xff08;RestTemplate&#xff0…...

camera-qsc-crosstalk校准数据XTALK回写

问题背景 手机越做越紧凑&#xff0c;需要模组和芯片尺寸越做越小&#xff0c;在尺寸一定的基础上&#xff0c;高像素和大像素&#xff0c;对于手机摄像头来说&#xff0c;一直是一对矛盾的存在。 高像素&#xff1a;带来高分辨率画质大像素&#xff1a;带来暗态下高感光度和…...

混合贪心算法求解地铁线路调度

一、问题描述 城市轨道交通的繁荣发展&#xff0c;带来了车辆资源需求的日益增加。如何兼顾运营服务水平和运营成本&#xff0c;以最少的车底优质地完成运输任务成为一大严峻问题。本题在后续的描述中将由多辆动车和拖车组合而成的车组称为车底。在日常的运营组织中&#xff0…...

vue项目:关闭页面,删除本地登录信息

vue项目&#xff1a;关闭页面&#xff0c;删除本地登录信息 代码 代码 import { removeToken } from /utils/auth //区分关闭和刷新页面&#xff0c;关闭时退出登录 window.onload ()>{if(!window.sessionStorage["tempFlag"]){removeToken();location.reload()…...

获奖案例回顾|基于卫星遥感和无人机的水稻全流程风险减量项目

引言 在现代农业保险领域&#xff0c;技术创新是推动行业进步的关键。珈和科技与太平财险的合作&#xff0c;旨在利用先进的卫星遥感和无人机技术&#xff0c;解决传统农业保险面临的诸多挑战&#xff0c;从而提升保险效率和服务质量。本次分享的项目案例获得了《金融电子化》…...

全栈 Discord 克隆:Next.js 13、React、Socket.io、Prisma、Tailwind、MySQL笔记(一)

前言 阅读本文你需要有 Next.js 基础 React 基础 Prisma 基础 tailwind 基础 MySql基础 准备工作 打开网站 https://ui.shadcn.com/docs 这不是一个组件库。它是可重用组件的集合&#xff0c;您可以将其复制并粘贴到应用中。 打开installation 选择Next.js 也就是此页面…...

【Unity】制作简易计时器

一、创建计时器相关的变量 我们需要创建三个变量&#xff0c;分别是&#xff1a;计时时长、计时剩余时长、是否处于计时状态。 public float duration;//计时时长 public float remain; //计时剩余时长 public bool isCount; //是否处于计时状态 二、初始化变量 我们可以直…...

TDesign组件库日常应用的一些注意事项

【前言】Element&#xff08;饿了么开源组件库&#xff09;在国内使用的普及率和覆盖率高于TDesign-vue&#xff08;腾讯开源组件库&#xff09;&#xff0c;这也导致日常开发遇到组件使用上的疑惑时&#xff0c;网上几乎搜索不到其文章解决方案&#xff0c;只能深挖官方文档或…...

51单片机7(点亮第一个LED)

一、LED简介 1、LED&#xff0c;它是一个发光二极管&#xff0c;它具有单向导电性&#xff0c;那么通过5毫安的一个电流&#xff0c;就可以使它发光&#xff0c;那么电流越大&#xff0c;它的发光也就越强&#xff0c;但是电流不能过大&#xff0c;过大会把这个发光二极管给烧…...

基于Vue和UCharts的前端组件化开发:实现高效、可维护的词云图与进度条组件

基于Vue和UCharts的前端组件化开发&#xff1a;实现高效、可维护的词云图与进度条组件 摘要 随着前端技术的迅速发展和业务场景的日益复杂&#xff0c;传统的整块应用开发方式已无法满足现代开发的需求。组件化开发作为一种有效的解决方案&#xff0c;能够将系统拆分为独立、…...

CentOS 系统监控项

在维护和优化 CentOS 系统时&#xff0c;实时监控硬件和资源的使用情况非常重要。为了满足工作需要&#xff0c;可以定时采集 CentOS 系统相关的监控数据&#xff0c;并将其推送到 Prometheus 进行集中监控和管理。以下是日常采集项及对应的 shell 命令&#xff0c;并附上每项命…...

连锁直营店小程序赋能多店如何管理

如商超便利店卖货线下场景&#xff0c;也有不少品牌以同城多店和多地开店经营为主&#xff0c;获取店铺周围客户和散流&#xff0c;如今线上重要性凸显&#xff0c;品牌电商发展是经营的重要方式之一&#xff0c;也是完善同城和外地客户随时便捷消费的方式之一。 多个门店管理…...

决策树算法入门到精通:全面解析与案例实现

1. 介绍决策树算法 决策树的基本概念和原理 决策树是一种基于树形结构的分类和回归方法&#xff0c;通过对数据集进行递归地划分&#xff0c;每个内部节点表示一个属性上的判断&#xff0c;每个叶节点代表一种类别或者数值。 决策树在机器学习中的应用场景 分类问题&#xf…...

LangChain —— 多模态大模型的 prompt template

文章目录 一、如何直接将多模态数据传输给模型二、如何使用 mutimodal prompts 一、如何直接将多模态数据传输给模型 在这里&#xff0c;我们演示了如何将多模式输入直接传递给模型。对于其他的支持多模态输入的模型提供者&#xff0c;langchain 在类中提供了内在逻辑来转化为期…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...

Vue3 PC端 UI组件库我更推荐Naive UI

一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用&#xff0c;前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率&#xff0c;还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库&#xff08;Naive UI、Element …...