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

基于若依(RuoYi)框架的二次开发学习指南

基于若依RuoYi框架的二次开发学习指南从入门到实战若依RuoYi是目前国内非常流行的 Java 企业级快速开发框架。很多开发者在公司项目中会遇到基于若依进行二次开发的需求。本文将带你全面了解若依的技术栈、二次开发的核心模块并提供学习路线与实战流程图助你快速上手。一、若依框架简介若依RuoYi是一款基于 Spring Boot、Spring Security、MyBatis 和 Thymeleaf或 Vue的企业级快速开发平台提供了代码生成器、权限管理、系统监控、日志管理等现成功能大大减少了重复造轮子的工作。目前主要分为两个版本RuoYi经典版前端使用 Thymeleaf Bootstrap jQuery适合后端开发者快速构建管理后台。RuoYi-Vue前后端分离前端使用 Vue Element UI后端提供 RESTful API。本文重点讨论RuoYi-Vue的二次开发这是目前企业中最常用的版本。二、若依的技术栈概览层次技术选型说明后端框架Spring Boot 2.x微服务风格方便集成安全框架Spring Security JWT基于 token 的权限认证持久层MyBatis Plus / MyBatis简化 CRUD支持多数据源数据库MySQL支持 Oracle、SQL Server动态切换缓存Redis用于 token 存储、数据缓存工具库Hutool、Fastjson、EasyExcel 等提升开发效率前端Vue版Vue 2 / 3 Element UI Vuex Vue Router单页应用代码生成自定义代码生成器一键生成前后端 CRUD 代码三、二次开发的典型场景及学习重点二次开发通常指在若依已有功能基础上新增业务模块或改造现有模块。主要涉及以下几个方面新建业务表 代码生成器使用自定义接口开发Controller、Service、Mapper权限控制基于 PreAuthorize 注解多数据源配置与切换前端页面改造与菜单配置工作流集成若依自带简易工作流或扩展 Flowable下面逐一展开。四、二次开发实战流程附流程图4.1 总体流程需求分析设计数据库表使用若依代码生成器生成前后端代码配置菜单与权限调整业务逻辑测试与部署4.2 代码生成器使用详解若依的代码生成器是其核心亮点可以基于数据库表自动生成后端Controller、Service、Mapper、Entity、XML 文件前端Vue 页面列表、新增、编辑、查询、API 接口定义操作步骤在数据库创建业务表遵循若依规范主键为id建议包含create_by,create_time,update_by,update_time,del_flag等字段。登录若依管理后台 → 系统工具 → 代码生成 → 导入表。编辑生成配置树表、主子表、显示字段、查询条件等。点击“生成代码”并下载压缩包。将生成的前端代码放入src/views后端代码放入对应包中。运行 SQL 脚本菜单 SQL自动生成菜单权限。创建业务表后台导入表配置生成规则生成代码 zip解压覆盖执行菜单 SQL刷新页面新模块可直接使用4.3 自定义接口开发示例假设我们需要新增一个“积分兑换记录”模块除了代码生成的基础 CRUD还需额外实现一个统计接口。步骤Mapper 接口在对应的Mapper.java中添加自定义方法。Mapper.xml编写 SQL。Service 接口与实现声明方法并实现。Controller暴露 REST 接口并添加权限注解。RestControllerRequestMapping(/point/record)publicclassPointRecordController{AutowiredprivateIPointRecordServicepointRecordService;PreAuthorize(ss.hasPermi(point:record:stat))GetMapping(/stat)publicAjaxResultstat(){returnAjaxResult.success(pointRecordService.getStatData());}}4.4 权限控制Spring Security JWT若依的权限基于 Spring Security但通过自定义PreAuthorize注解和ss.hasPermi表达式简化了使用。菜单权限后台配置菜单分配角色。按钮级权限前端通过v-hasPermi指令控制显示/隐藏。el-button v-hasPermi[point:record:add] typeprimary新增/el-buttonPreAuthorize(ss.hasPermi(point:record:add))PostMappingpublicAjaxResultadd(RequestBodyPointRecordrecord){...}4.5 多数据源配置若依支持动态数据源切换常用于读写分离或连接不同业务库。配置步骤在application-druid.yml中定义多个数据源。在需要使用非主数据源的 Service 方法上添加DataSource注解。ServicepublicclassOrderService{DataSource(valueDataSourceType.SLAVE)publicListOrderlistOrders(){// 从从库查询}}五、学习路线与资源推荐5.1 循序渐进学习路线图掌握 Spring Boot / MyBatis 基础下载并运行 RuoYi-Vue熟悉项目结构与配置文件学习代码生成器并生成一个简单模块深入 Spring Security JWT 认证流程尝试多数据源 缓存 日志集成阅读源码: 数据权限、操作日志、定时任务独立完成一个复杂业务模块二次开发5.2 官方资源若依官网http://ruoyi.vipRuoYi-Vue GitHubhttps://gitee.com/y_project/RuoYi-Vue文档包含部署、开发手册、常见问题5.3 二次开发常见问题与解决问题解决方案代码生成后访问菜单空白检查生成的 Vue 文件路由是否正确以及后端 Controller 的RequestMapping是否匹配权限不足 403检查角色是否分配了对应权限PreAuthorize表达式是否正确多数据源事务失效默认数据源为主库如需跨库事务需手动编程式事务或使用分布式事务方案前端请求报跨域若依后端已配置跨域检查 Nginx 或网关配置确保前端代理正确六、总结若依是一个低门槛、高产出的快速开发框架非常适合企业级后台管理系统的二次开发。通过学习若依你可以掌握 Spring Boot Vue 的实际项目整合理解代码生成的原理并可以定制生成模板熟练运用 RBAC 权限模型和 Spring Security快速产出可用的业务模块提升开发效率二次开发的核心不是“完全依赖生成器”而是在其基础上进行定制和优化。建议先完全跑通一个生成模块再逐步深入改造源码最后尝试自定义生成器模板以适应不同业务场景。最后送上一句话用好若依你的开发速度至少提升 50%理解若依你的架构能力将更上一层楼。

相关文章:

基于若依(RuoYi)框架的二次开发学习指南

基于若依(RuoYi)框架的二次开发学习指南:从入门到实战若依(RuoYi)是目前国内非常流行的 Java 企业级快速开发框架。很多开发者在公司项目中会遇到基于若依进行二次开发的需求。本文将带你全面了解若依的技术栈、二次开…...

43-Android系统源码-ExoPlayer 实战 - Android 应用级媒体播放器核心技术

ExoPlayer 实战 - Android 应用级媒体播放器核心技术 源码: external/exoplayer (两个 tree 版本, ~1000 个 Java 文件) 版本: commit 8e57d371 (2022-04-11 更新) 协议: Apache License 2.0 用途: Google 开源的应用级媒体播放器,支持 DASH、HLS、SmoothStreaming 自适应流媒…...

天赐范式第33天:算子流C++迁移实录:NS方程256×256方腔流引擎的设计、排险与验证框架

摘要:天赐范式的19原生算子及其衍生的6个二阶审视算子(MΣ、ρ、δ、Con、λ、C未参与),已在环境治理、全灾种应急等项目中完成Python原型验证。但范式不能只活在解释器里。本文记录了将这套算子体系完整迁移至C裸机环境的技术过程…...

实战应用:在快马平台开发synaptics.exe故障支持系统,实现问题管理闭环

今天想和大家分享一个实战案例:如何在InsCode(快马)平台快速搭建一个用于处理synaptics.exe故障的支持系统。这个项目特别适合需要管理高频技术问题的团队,能实现从问题上报到解决的全流程闭环。 用户端设计 用户遇到synaptics.exe错误时,可以…...

当飞书cli遇见ai:基于快马平台开发能听懂自然语言的智能命令行助手

最近在开发飞书命令行工具时,发现传统CLI工具存在一个痛点:用户需要记住大量命令和参数格式,这对新手特别不友好。于是尝试用AI来改造这个工具,让它能听懂人话。下面分享我的实践过程。 核心思路设计 传统CLI工具要求用户输入精确…...

开题报告总被导师打回?虎贲等考 AI:一键生成规范开题,逻辑完整一次通过

开题报告是毕业论文的总路线图,也是导师审核的第一道关卡。研究意义不清晰、文献综述太单薄、技术路线不合理、创新点不突出…… 随便一个问题,都可能被反复驳回,直接拖慢整个毕业进度。 很多同学熬夜写开题,要么结构不全、要么内…...

怎么把DNG图片批量转换成JPG格式

DNG格式是 Adobe 公司开发的‌通用 RAW 图像格式‌。‌一般的电脑或者手机不支持直接阅读,并且给别人看的话也不太方便。那么如何把dng格式的图片转换成jpg或者png格式呢?第一步:浏览器打开星喵工具,找到里面的 DNG转JPG 的功能。…...

GPTs系统指令泄露分析:从提示工程到AI安全与产品设计

1. 项目概述与核心价值最近在AI圈子里,一个名为“GPTsSystemPrompts”的项目在GitHub上引起了不小的波澜。简单来说,这是一个汇集了数十个热门ChatGPT GPTs(即OpenAI官方推出的“定制版GPT”)内部系统指令(System Prom…...

麒麟KYLINOS V10 SP1忘记密码别慌!手把手教你用恢复模式重置(含root密码设置)

麒麟KYLINOS V10 SP1密码重置全攻略:从紧急救援到Root权限配置 那天下午三点,技术支持的铃声突然响起。电话那头是市场部的小李,声音里透着明显的焦虑:"我试了所有能想到的密码组合,系统就是不让进..." 这种…...

从“水仙花数”到“背包问题”:新手程序员如何用C语言打通算法任督二脉?

从“水仙花数”到“背包问题”:新手程序员如何用C语言打通算法任督二脉? 第一次接触算法时,我盯着屏幕上那行"Hello World"发呆——明明已经能写出让计算机打招呼的代码,为什么看到"时间复杂度O(n)"这种描述时…...

离线服务器大模型日常运维命令速查手册

离线服务器大模型日常运维命令速查手册背景:在内网 GPU 服务器上,使用 Docker 部署了 PaddleOCR(端口 6511)和 Ollama Qwen2.5-7B(端口 11434)两个 AI 服务。本文梳理出日常操作中会用到的常用命令&#x…...

王者营地 Token获取:从 SSL Pinning 绕过到 Frida 动态插桩

王者营地官方英雄战力数据抓包实战:从 SSL Pinning 绕过到 Frida 动态插桩获取Token 背景:近期在研究王者荣耀英雄战力数据时,需要通过王者营地 App 获取官方战力榜接口参数。过程中遇到了 HTTPS 抓包失败、SSL Pinning 拦截等问题&#xff0…...

Better Godot MCP:用AI助手与Model Context Protocol提升Godot游戏开发效率

1. 项目概述:当AI助手遇上游戏引擎如果你是一名独立游戏开发者,或者正在学习使用Godot引擎,那么你肯定经历过这样的场景:脑子里有一个绝妙的游戏机制想法,但在实现时,却要花大量时间在编辑器里拖拽节点、编…...

DeepPCB:突破PCB缺陷检测技术瓶颈的工业级解决方案

DeepPCB:突破PCB缺陷检测技术瓶颈的工业级解决方案 【免费下载链接】DeepPCB A PCB defect dataset. 项目地址: https://gitcode.com/gh_mirrors/de/DeepPCB 在智能制造时代,PCB(印刷电路板)缺陷检测是电子制造业质量控制的…...

Neovim状态栏插件moo-statusline:模块化设计与高效定制指南

1. 项目概述:一个为现代开发者定制的状态栏插件如果你是一个重度使用Neovim或Vim的开发者,那么对编辑器的状态栏一定不会陌生。它通常位于编辑器窗口的底部,默默地展示着当前文件的信息、光标位置、Git分支状态等。然而,原生Vim的…...

AMD Ryzen内存时序监控终极指南:ZenTimings工具快速上手教程

AMD Ryzen内存时序监控终极指南:ZenTimings工具快速上手教程 【免费下载链接】ZenTimings 项目地址: https://gitcode.com/gh_mirrors/ze/ZenTimings 想要深入了解AMD Ryzen平台内存性能表现?ZenTimings是一款专为AMD Ryzen处理器设计的开源内存…...

实战指南:基于快马平台快速开发全栈tokenpo质押收益农场应用

今天想和大家分享一个最近在InsCode(快马)平台上快速搭建的实战项目——tokenpo质押收益农场应用。这个项目完美模拟了DeFi领域常见的代币质押和流动性挖矿场景,特别适合想学习全栈开发的朋友练手。 项目背景与需求分析 代币质押是区块链应用中非常经典的功能&#…...

中国词元:构建AI新基建的生态密码

在AI产业迎来范式变革的关键节点,中国科技企业正在书写全新的基础设施标准。中国词元(Chinese Tokens)这一创新概念,正在通过"中国模型中国GPU中国绿色能源"的三元架构,重塑全球AI竞争格局。开源中国旗下模力方舟Moark与口袋龙虾Po…...

告别高成本DAC!用单片机PWM+RC滤波,低成本搞定LM5175数控电源的电压调节

低成本数控电源方案:用PWMRC滤波替代DAC驱动LM5175 在硬件开发领域,预算限制常常是创新路上的绊脚石。当我们面对一个需要精确电压控制的电源项目时,传统方案会毫不犹豫地选择高精度DAC芯片。但现实情况是,一块16位DAC的价格可能比…...

2026年工地无塔供水压力罐批发厂家,这些靠谱之选你知道吗?

2026 年,在工地建设中,无塔供水压力罐的稳定运行至关重要。河南飞龙圣无塔供水设备有限公司作为行业老牌企业,有着丰富的经验,能为大家解决诸多供水难题。很多工地在使用无塔供水压力罐时,会遇到各种问题。比如水压不稳…...

【深度解析】从 Chatbot 到 AI 数字队友:Claude 高阶能力、模型选型与 API 实战

摘要 本文基于 Claude 高阶使用方法,系统拆解 Memory、Projects、Artifacts、Code Execution、Computer Use 等能力,并结合 OpenAI 兼容 API 给出 Python 实战示例,帮助开发者构建更稳定、可复用的 AI 工作流。背景介绍:为什么很多…...

小红书上的“三天写完论文”是真的吗?我试了,真的

生成式人工智能技术的飞速发展,正深刻重塑高校学术写作的范式与流程。传统学术创作长期面临选题模糊、框架搭建困难、文献处理繁琐、格式排版机械、重复率与 AIGC 检测压力大等多重痛点,严重挤占学生科研思考与核心创作的时间精力。以智能学术写作平台为…...

JSXBIN解密技术深度解析:Jsxer如何高效还原Adobe加密脚本

JSXBIN解密技术深度解析:Jsxer如何高效还原Adobe加密脚本 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer 在Adobe创意生态系统中,JSXBIN格式作为ExtendScript脚本的二进制加…...

【深度解析】Google AI Studio Vibe Coding 更新:从 Prompt 生成到可视化应用构建闭环

摘要 Google AI Studio 的 Vibe Coding 正从“输入提示词生成 Demo”演进为“可视化应用构建器”。本文解析 Prompt 自动补全、设计预览、编辑模式与内联素材生成的技术价值,并给出可落地的 AI Prompt 编排实战方案。背景介绍:Vibe Coding 正在从文本驱动…...

AI工具搭建自动化视频生成Video Combine

# 聊一个挺有意思的视频生成工具:Video Combine 这些年AI视频工具层出不穷,每天都能刷到新的产品。但说实话,多数工具要么太花哨,要么就是个包装壳子。前几天翻GitHub的时候,意外发现了一个叫Video Combine的东西&…...

短剧拉片网站2026推荐,满足多样分析需求

短剧拉片网站2026推荐,满足多样分析需求在短剧市场蓬勃发展的2026年,据《2026中国短剧行业发展报告》显示,短剧市场规模持续增长,用户数量不断攀升。然而,对于众多短剧创作者、从业者以及爱好者来说,找到一…...

2026 热门网页游戏推荐,耐玩不氪金的网页游戏大盘点

在快节奏的当下,无需下载、即开即玩的网页游戏依旧是众多玩家休闲娱乐的优选。2026 年的页游市场百花齐放,既有经典 IP 的焕新回归,也有创新玩法的惊喜亮相,更关键的是,一大批耐玩不氪金的良心佳作脱颖而出&#xff0c…...

C++模板技术(泛型编程)

template<typename T> T sum(T a,T b){return ab; }以上称呼为函数模板&#xff0c;调用时生成模板函数template<typename T> int sum(T a, T b) {return a b; } template<> int sum(int * a,int* b) {return *a*b; }int main(int agvn, char* agvc[]) {in…...

蓝桥杯单片机CT107D平台:用PCF8591的DAC做个简易数字电压表(附完整代码)

蓝桥杯单片机CT107D平台&#xff1a;基于PCF8591的闭环数字电压表设计与实现 在蓝桥杯单片机竞赛中&#xff0c;CT107D开发平台因其丰富的外设和稳定的性能成为热门选择。其中&#xff0c;PCF8591这颗集成了ADC和DAC功能的芯片&#xff0c;常被用于模拟信号处理的经典案例。本文…...

STM32CubeMX配置GPIO输入时,上拉/下拉电阻到底怎么选?一个按键电路原理图讲明白

STM32CubeMX配置GPIO输入时&#xff0c;上拉/下拉电阻到底怎么选&#xff1f;一个按键电路原理图讲明白 1. 从硬件原理到软件配置的完整思考路径 很多STM32初学者在使用CubeMX配置GPIO输入模式时&#xff0c;面对"Pull-up/Pull-down"选项常常感到困惑&#xff1a;这个…...