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

ruoyi框架教程

心血来潮,写一篇关于ruoyi【若依】框架从0-1的教程。说一下使用感受吧,如果有一个架构师或者老手已经把架构改造完成也能指导你如何快速上手,那么你在后面的增删改查系列开发起来会如鱼得水。如果没有人改造,也没有人教你,可能会某个问题会处理很久,比如使用自定义的用户表登录,使用自定义的权限验证,比如使用自定义的密码加密,这三个问题对于新手来说都是致命的。

整体使用下来,唯一觉得快的部分就是它能生成前端的代码,然后在这个基础上修改就比较快。但是缺点也是致命的,封装的后台返回接口的字段居然都不一样,有的list会返回rows,有的返回data,说实话,就这一个缺点就能说明,那些人很垃圾。

简介

RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。

官网首页

https://www.ruoyi.vip/

官网文档

https://doc.ruoyi.vip/ruoyi/

 在线演示地址

https://vue.ruoyi.vip/

教程开始

1、安装依赖环境

名称备注
idealjava开发工具
JDK1.8java开发环境
Mysql8mysql数据库
redis实时缓存数据库
maven3项目构建工具
navicat数据库图形化管理工具
nodeJsnpm构建工具,用来开发编译运行前端vue项目

# JAVA开发环境搭建从0-1
# 包含了ideal, jdk, mysql, maven, redis, navicat等软件的下载及安装
https://blog.csdn.net/renkai721/article/details/126939604

2、下载源码

这里下载前后端分离的版本。版本介绍如下:

名称备注
RuoYi源码下载bootstrap+jquery+springboot2
RuoYi-Vue前后端分离版element+vue2+springboot2
RuoYi-Cloud微服务版未使用,不做评价
RuoYi-App移动端版未使用,不做评价

如果你会jquery+bootstrap不会vue就选择第一个版本。如果你会vue或者两者都会就下载vue的版本。 这里给新手一个建议,在你修改代码的时候最好先提交代码到git上一份,后面改动比较大,可能想找回之前的一个版本比较方便。不然的话,很容易进入到进退两难的困境。

下载后的文件夹如下

 文件夹结构描述

 

 3、导入SQL脚本

打开navicat工具,连接上数据库,然后创建一个数据库,名称叫【ry-vue】,然后通过工具把RuoYi-Vue-master\sql文件夹下的【ry_20231130.sql】和【quartz.sql】两个SQL脚本都导入进去。

4、修改配置文件

打开ruoyi-admin模块下的application-druid.yml文件,修改连接数据库的账号信息。

 打开ruoyi-admin模块下的application.yml文件,修改连接redis的账号信息。

 5、启动后台项目

看后台启动日志,如果成功了会看到启动成功。

6、启动VUE前端

# 进入项目目录
cd ruoyi-ui# 安装依赖
npm install# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com# 启动服务
npm run dev
```
# 默认账号密码admin/admin123
浏览器访问 http://localhost:80## 发布```bash
# 构建测试环境
npm run build:stage# 构建生产环境
npm run build:prod

7、启动效果图

8、技术交流

结束

-----华丽的分割线,以下是凑字数,大家不用花时间看,快去改代码-----

-----华丽的分割线,以下是凑字数,大家不用花时间看,快去改代码-----

-----华丽的分割线,以下是凑字数,大家不用花时间看,快去改代码-----

package cn.renkai721.bean.vo;import lombok.extern.slf4j.Slf4j;@Slf4j
public class MakeUpTheWordCount {private String make_up_the_word_count_column_999999999_1;private String make_up_the_word_count_column_999999999_2;private String make_up_the_word_count_column_999999999_3;private String make_up_the_word_count_column_999999999_4;private String make_up_the_word_count_column_999999999_5;private String make_up_the_word_count_column_999999999_6;private String make_up_the_word_count_column_999999999_7;private String make_up_the_word_count_column_999999999_8;private String make_up_the_word_count_column_999999999_9;private String make_up_the_word_count_column_999999999_10;private String make_up_the_word_count_column_999999999_11;private String make_up_the_word_count_column_999999999_12;private String make_up_the_word_count_column_999999999_13;private String make_up_the_word_count_column_999999999_14;private String make_up_the_word_count_column_999999999_15;private String make_up_the_word_count_column_999999999_16;private String make_up_the_word_count_column_999999999_17;private String make_up_the_word_count_column_999999999_18;private String make_up_the_word_count_column_999999999_19;private String make_up_the_word_count_column_999999999_20;public String getMake_up_the_word_count_column_999999999_1() {return make_up_the_word_count_column_999999999_1;}public void setMake_up_the_word_count_column_999999999_1(String make_up_the_word_count_column_999999999_1) {this.make_up_the_word_count_column_999999999_1 = make_up_the_word_count_column_999999999_1;}public String getMake_up_the_word_count_column_999999999_2() {return make_up_the_word_count_column_999999999_2;}public void setMake_up_the_word_count_column_999999999_2(String make_up_the_word_count_column_999999999_2) {this.make_up_the_word_count_column_999999999_2 = make_up_the_word_count_column_999999999_2;}public String getMake_up_the_word_count_column_999999999_3() {return make_up_the_word_count_column_999999999_3;}public void setMake_up_the_word_count_column_999999999_3(String make_up_the_word_count_column_999999999_3) {this.make_up_the_word_count_column_999999999_3 = make_up_the_word_count_column_999999999_3;}public String getMake_up_the_word_count_column_999999999_4() {return make_up_the_word_count_column_999999999_4;}public void setMake_up_the_word_count_column_999999999_4(String make_up_the_word_count_column_999999999_4) {this.make_up_the_word_count_column_999999999_4 = make_up_the_word_count_column_999999999_4;}public String getMake_up_the_word_count_column_999999999_5() {return make_up_the_word_count_column_999999999_5;}public void setMake_up_the_word_count_column_999999999_5(String make_up_the_word_count_column_999999999_5) {this.make_up_the_word_count_column_999999999_5 = make_up_the_word_count_column_999999999_5;}public String getMake_up_the_word_count_column_999999999_6() {return make_up_the_word_count_column_999999999_6;}public void setMake_up_the_word_count_column_999999999_6(String make_up_the_word_count_column_999999999_6) {this.make_up_the_word_count_column_999999999_6 = make_up_the_word_count_column_999999999_6;}public String getMake_up_the_word_count_column_999999999_7() {return make_up_the_word_count_column_999999999_7;}public void setMake_up_the_word_count_column_999999999_7(String make_up_the_word_count_column_999999999_7) {this.make_up_the_word_count_column_999999999_7 = make_up_the_word_count_column_999999999_7;}public String getMake_up_the_word_count_column_999999999_8() {return make_up_the_word_count_column_999999999_8;}public void setMake_up_the_word_count_column_999999999_8(String make_up_the_word_count_column_999999999_8) {this.make_up_the_word_count_column_999999999_8 = make_up_the_word_count_column_999999999_8;}public String getMake_up_the_word_count_column_999999999_9() {return make_up_the_word_count_column_999999999_9;}public void setMake_up_the_word_count_column_999999999_9(String make_up_the_word_count_column_999999999_9) {this.make_up_the_word_count_column_999999999_9 = make_up_the_word_count_column_999999999_9;}public String getMake_up_the_word_count_column_999999999_10() {return make_up_the_word_count_column_999999999_10;}public void setMake_up_the_word_count_column_999999999_10(String make_up_the_word_count_column_999999999_10) {this.make_up_the_word_count_column_999999999_10 = make_up_the_word_count_column_999999999_10;}public String getMake_up_the_word_count_column_999999999_11() {return make_up_the_word_count_column_999999999_11;}public void setMake_up_the_word_count_column_999999999_11(String make_up_the_word_count_column_999999999_11) {this.make_up_the_word_count_column_999999999_11 = make_up_the_word_count_column_999999999_11;}public String getMake_up_the_word_count_column_999999999_12() {return make_up_the_word_count_column_999999999_12;}public void setMake_up_the_word_count_column_999999999_12(String make_up_the_word_count_column_999999999_12) {this.make_up_the_word_count_column_999999999_12 = make_up_the_word_count_column_999999999_12;}public String getMake_up_the_word_count_column_999999999_13() {return make_up_the_word_count_column_999999999_13;}public void setMake_up_the_word_count_column_999999999_13(String make_up_the_word_count_column_999999999_13) {this.make_up_the_word_count_column_999999999_13 = make_up_the_word_count_column_999999999_13;}public String getMake_up_the_word_count_column_999999999_14() {return make_up_the_word_count_column_999999999_14;}public void setMake_up_the_word_count_column_999999999_14(String make_up_the_word_count_column_999999999_14) {this.make_up_the_word_count_column_999999999_14 = make_up_the_word_count_column_999999999_14;}public String getMake_up_the_word_count_column_999999999_15() {return make_up_the_word_count_column_999999999_15;}public void setMake_up_the_word_count_column_999999999_15(String make_up_the_word_count_column_999999999_15) {this.make_up_the_word_count_column_999999999_15 = make_up_the_word_count_column_999999999_15;}public String getMake_up_the_word_count_column_999999999_16() {return make_up_the_word_count_column_999999999_16;}public void setMake_up_the_word_count_column_999999999_16(String make_up_the_word_count_column_999999999_16) {this.make_up_the_word_count_column_999999999_16 = make_up_the_word_count_column_999999999_16;}public String getMake_up_the_word_count_column_999999999_17() {return make_up_the_word_count_column_999999999_17;}public void setMake_up_the_word_count_column_999999999_17(String make_up_the_word_count_column_999999999_17) {this.make_up_the_word_count_column_999999999_17 = make_up_the_word_count_column_999999999_17;}public String getMake_up_the_word_count_column_999999999_18() {return make_up_the_word_count_column_999999999_18;}public void setMake_up_the_word_count_column_999999999_18(String make_up_the_word_count_column_999999999_18) {this.make_up_the_word_count_column_999999999_18 = make_up_the_word_count_column_999999999_18;}public String getMake_up_the_word_count_column_999999999_19() {return make_up_the_word_count_column_999999999_19;}public void setMake_up_the_word_count_column_999999999_19(String make_up_the_word_count_column_999999999_19) {this.make_up_the_word_count_column_999999999_19 = make_up_the_word_count_column_999999999_19;}public String getMake_up_the_word_count_column_999999999_20() {return make_up_the_word_count_column_999999999_20;}public void setMake_up_the_word_count_column_999999999_20(String make_up_the_word_count_column_999999999_20) {this.make_up_the_word_count_column_999999999_20 = make_up_the_word_count_column_999999999_20;}
}

http://www.lryc.cn/news/286113.html

相关文章:

  • 通过浏览器URL地址,5分钟内渗透你的网站!很刑很可拷!
  • dubbo:深入理解Apache Dubbo与实战
  • 写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用)
  • 计算机网络——运输层(2)暨小程送书
  • FPGA高端项目:Xilinx Zynq7020 系列FPGA纯verilog图像缩放工程解决方案 提供3套工程源码和技术支持
  • 【分布式技术专题】「分布式技术架构」 探索Tomcat集群架构原理和开发分析指南
  • c++类与对象(五):友元、内部类、临时对象、匿名对象
  • 细数语音识别中的几个former
  • 【MySQL进阶】锁
  • redis复制和分区:主从复制、哨兵模式和集群模式
  • 个人实现的QT拼图游戏(开源),QT拖拽事件详解
  • gin渲染篇
  • 第三方控价服务商怎么选
  • 大模型的学习路线图推荐—多维度深度分析【云驻共创】
  • 【学习】focal loss 损失函数
  • 几个好玩好用的AI站点
  • Java算法 leetcode简单刷题记录5
  • 计算机网络自顶向下Wireshark labs1-Intro
  • CSS实现图片放大缩小的几种方法
  • 时间序列预测 — CNN-LSTM-Attention实现多变量负荷预测(Tensorflow):多变量滚动
  • angular-tree-component组件中实现特定节点自动展开
  • Linux系统下安装Vcpkg,并使用Vcpkg安装、编译OpenSceneGraph
  • 设计模式二(工厂模式)
  • Maven应用手册
  • 笨蛋学设计模式行为型模式-状态模式【20】
  • C++从零开始的打怪升级之路(day18)
  • 浅谈安科瑞直流电表在新加坡光伏系统中的应用
  • C++参悟:数值运算相关
  • 【Web前端开发基础】CSS的定位和装饰
  • [pytorch入门] 3. torchvision中的transforms