Java AI+若依框架项目开发 RuoYi-Vue(SpringBoot + Vue)

news2024/11/23 8:14:50

1.诺依的版本

 本次选择RuoYI-Vue框架进行讲解

官网地址:RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 (gitee.com)

 

2.搭建后端项目

 3.初始化后端项目

等待下载完成后:点击Maven的clean,然后点击package,最后点击刷新按钮

  • 创建数据库名为:ry-vue

  • 导入ry-vue的数据库(先执行下面的sql)

  • 在ruoyi-admin中 修改application-druid.yml的数据库密码
  • 在ruoyi-admin中 修改application.yml的redis相关信息(启动redis)
  • 最后在RuoYiApplication中使用Debug的方式启动

执行结果为下图则表示(启动成功)

 4.搭建并初始化前端项目

前端地址:RuoYi-Vue3: 🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统 (gitee.com)

(1) 使用git clone 命令拉取代码到本地并打开 

(2) 然后在终端输入npm install下载第三方依赖的下载

(3)最后终端输入npm run dev 启动

5.入门示例

先设计好表的结构,然后交给若依代码生成器进行生成

 

 生成的代码有:

  • 后端代码:main
  • 前端代码:vue
  • 动态代码:courseMenu.sql导入数据库sys_menu

 

6.系统管理

演示:

RBAC(Role-Based Access Control,基于角色的访问控制)是一种用于限制系统用户访问计算机或网络资源的机制。在RBAC中,权限与角色相关联,而不是直接与用户关联。用户根据其在组织中的职责被分配一个或多个角色,而这些角色则被分配了相应的权限。当用户尝试访问系统资源时,系统会检查用户所属角色的权限,以决定是否允许访问。 

示例: 

(1)创建统计分析菜单 (创建后需要刷新才显示)

(2)修改课程管理的上级菜单为主类目(之前做5.入门示例的时候就已经创建了)

(3)创建角色和用户

设置用户的默认密码为admin

7.系统管理-数据字典

示例:将课程管理的学科字段修改为数据字典维护

(1)添加字典类型和数据

(2)修改代码生成信息的显示类型为下拉框

(3)下载代码,导入前端

 实操:

(1)创建字典类型

(2)点击字典类型的名字,可以对其类型添加字典数据

(3) 这样可以通过在生成代码中可以通过选择下拉框中的字典类型进行

注意:如果之前已经导入了,就只需要重新导入新生成的前端代码views即可

(4)(如果将文本框改为下拉框的话)需要将对应数据库中的subject修改为字典键值

8.系统管理-其他功能

8.1在参数设置 关闭验证码 将登录验证的参数键值设置为false

 8.2 通知公告部分,若依平台只支持了基础功能,如需要将公告推送给用户,则需要二次开发

8.3 在日志管理中的操作日志可以查看用户的操作信息,在登录日志中可以查看用户的登录信息

9.系统监控

9.1 定时任务

在ruoyi-quartz中的task中创建定时任务的类,注意要加上@Component注解

9.2 数据监控

系统监控中的数据监控的 (账号:ruoyi     密码:123456)

10. 系统工具

10.1 表单构建

制作表单完整之后复制到前端工程中

 因为添加的是course/course/add.vue路径,也要同时添加相同的菜单路径

 10.2 代码生成

单表模版:就是对单张表的增删改查

树表模版:有父树和子树,类似于(省、市区、县城、乡村)层级

主子表模版:比如辣度有:不辣、微辣、中辣、特辣

 10.3 系统接口

需要token进行权限校验,这时需要在浏览器中进行查看token的值 

 

token的值在Cookies的Admin-Token的值

仅有权限还不够,还需要正确的访问路径,默认是添加/dev-api前缀(根据需要进行修改)

所以对于测试用例中,需要在ruoyi-admin中的application.yml中修改Swagger的请求前缀为:/

11.若依项目结构

(1)后端结构

 

 

(2)前端结构 

(3)表结构 

12.若依二次开发

12.1 使用若依框架修改器,修改后端的代码

使用若依修改器,修改项目的基本信息 

使用方式:

(1)对后端的若依项目工程进行压缩打包为zip后缀的压缩文件,然后使用 若依框架修改器

(2) 使用idea打开修改器执行后的代码

  • 修改启动类名

12.2 新建业务模块

(例如创建商家相关的模块,所以命名为sky-merchant)

在创建的子模块中加入核心的依赖 

 在父模块中添加子模块的版本锁定

 12.3 添加菜品管理

 然后使用代码生成,生成该两张表的代码

记得修改配置后再生成代码 

(1)基本信息的修改

 

 (2)字段信息的修改

因为这里的售卖状态值比较固定,可以使用下拉框的方式确定,所以先创建该相关字典类型

 对该dish_status设置字典键值

根据要求进行字段信息的修改

(3) 生成信息的修改

因为该生成的模版设置为主子表结构,所以必须填写关联子表的表名和外键名

同理,修改其他生成的关联表

不过只需要修改dish_flavor中的实体类名即可

(4)生成代码并添加到对应的项目中 

最后对后端的代码进行clean一次,然后重启

最后,总结一下步骤:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1904803.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centos7|操作系统|低版本的OpenSSH升级到最新版本OpenSSH-9.8.p1

前言: 1、 OpenSSH是什么 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都…

集合复习(java)

文章目录 Collection 接口Collection结构图Collection接口中的方法Iterator 与 Iterable 接口Collection集合遍历方式迭代器遍历增强 for 遍历 List(线性表)List特有方法ArrayList(可变数组)ArrayList 底层原理ArrayList 底层原理…

土豆炒肉做法

菜单:土豆、葱、铁辣子、纯瘦肉、淀粉、生抽、酱油、刀、案板、十三香、盐巴、擦板 流程: 洗土豆,削皮,擦成条,用凉水过滤两遍淀粉,顺便放个燥里洗肉,切成条,按照生抽、酱油、淀粉、…

【Etabs】【Rhino】Swallow(ESD)软件的ETABS功能介绍

Swallow(ESD)软件的ETABS功能介绍 来源:https://www.food4rhino.com/app/swallowesd 文章目录 Swallow(ESD)软件的ETABS功能介绍1. Load模块1.1 Support节点支座1.2 LoadPattern荷载模式1.3 LoadPattByName引用模型荷载模式1.4 AutoWindChinese自动风荷载参数1.5 R…

【数据结构与算法】插入排序

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法》 期待您的关注 ​

Git仓库介绍

1. Github GitHub 本身是一个基于云端的代码托管平台,它提供的是远程服务,而不是一个可以安装在本地局域网的应用程序。因此,GitHub 不可以直接在本地局域网进行安装。 简介:GitHub是最流行的代码托管平台,提供了大量…

【开放集目标检测】Grounding DINO

一、引言 论文: Grounding DINO: Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection 作者: IDEA 代码: Grounding DINO 注意: 该算法是在Swin Transformer、Deformable DETR、DINO基础上…

STM32崩溃问题排查

文章目录 前言1. 问题说明2. STM32(Cortex M4内核)的寄存器3. 崩溃问题分析3.1 崩溃信息的来源是哪里?3.2 崩溃信息中的每个关键字代表的含义3.3 利用崩溃信息去查找造成崩溃的点3.4 keil5中怎么根据地址找到问题点3.5 keil5上编译时怎么输出…

数据库(表)

要求如下: 一:数据库 1,登录数据库 mysql -uroot -p123123 2,创建数据库zoo create database zoo; Query OK, 1 row affected (0.01 sec) 3,修改字符集 mysql> use zoo;---先进入数据库zoo Database changed …

护网在即,知攻善防助力每一位安服仔~

前言 是不是已经有师傅进场了呢~ 是不是有安服🐒在值守呢~ 您是不是被网上眼花缭乱的常用应急响应工具而烦恼呢? 何以解忧?唯有知攻善防! 创作起源: 驻场、护网等,有的客户现场只允许用客户机器&…

【计组OS】I/O方式笔记总结

苏泽 “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家 目录 IO方式:程序查询方式 工作原理 程序查询方式的详细流程: 1. 初始化阶段 2. 发送I/O命令 3. 循环检查状态 4. 数据传输 5. 继续查询 6…

机器人动力学模型及其线性化阻抗控制模型

机器人动力学模型 机器人动力学模型描述了机器人的运动与所受力和力矩之间的关系。这个模型考虑了机器人的质量、惯性、关节摩擦、重力等多种因素,用于预测和解释机器人在给定输入下的动态行为。动力学模型是设计机器人控制器的基础,它可以帮助我们理解…

自动化设备上位机设计 四

目录 一 设计原型 二 后台代码 一 设计原型 二 后台代码 using SimpleTCP; using SqlSugar; using System.Text;namespace 自动化上位机设计 {public partial class Form1 : Form{SqlHelper sqlHelper new SqlHelper();SqlSugarClient dbContent null;bool IsRun false;i…

【MySQL基础篇】多表查询

1、多表关系 概述:项目开发中,在进行数据库表结构操作设计时,会根据业务需求及业务模板之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种…

react dangerouslySetInnerHTML将html字符串以变量方式插入页面,点击后出现编辑状态

1.插入变量 出现以下编辑状态 2.解决 给展示富文本的标签添加css样式 pointerEvents: none

windows上传app store的构建版本简单方法

我们在上传app store上架,或上传到testflight进行ios的app测试的时候,需要mac下的上传工具上传ipa文件到app store的构建版本上。 然而windows电脑这些工具是无法安装的。 因此,假如在windows上开发hbuilderx或uniapp的应用,可以…

【JavaEE】多线程进阶

🤡🤡🤡个人主页🤡🤡🤡 🤡🤡🤡JavaEE专栏🤡🤡🤡 文章目录 1.锁策略1.1悲观锁和乐观锁1.2重量级锁和轻量级锁1.3自旋锁和挂起等待锁1.4可…

分子AI预测赛Task4笔记(结束)

话不多说,直接上官方链接:‌​​​‍​⁠​‌​‍​​​‌​⁠‬​‬​​‌​​​​‬‬​​​​‍⁠‍‌​⁠Task3:进阶baseline详解 - 飞书云文档 (feishu.cn)Task4:持续尝试&…

嵌入式C语言面试相关知识——内存管理(不定期更新)

嵌入式C语言面试相关知识——内存管理(不定期更新) 一、博客声明二、自问题目1、嵌入式系统的内存布局是怎么样的?2、动态内存分配在嵌入式系统中的使用有什么注意事项?3、什么是内存碎片,如何减少内存碎片&#xff1f…

用ThreadLocal解决线程隔离问题

存在的以下代码所示的线程隔离问题: package study.用ThreadLocal解决线程隔离问题;/*线程隔离 - 在多线程并发场景下,每个线程的变量都应该是相互独立的线程A:设置(变量1) 获取(变量1)线程B&a…