若依框架学习笔记

一、 后端开发环境配置

1. 下载或拉取源码
2. 在idea中打开项目
3. maven install相应包
4. 数据库配置

二、目录结构与用途

![在这里插入图片描述](https://img-blog.csdnimg.cn/4c737de4f6344857947168aefee6147f.png)

三、开始配置

1. 配置数据库。 ruoyi-admin-resources 下application-druid.yml
2. 其他如redis、log、server端口 ruoyi-admin-resources 下application.yml

四、代码生成与配置

1. 在mysql中创建表
2. 运行 ruoyi-admin 下的 RuoYiApplication
3. 运行前端 ——系统工具——导入,找到对应表。预览或生成(下载)
4. 将 生成的后端文件(除api.js 和index.vue)对应放在ruoyi-system\src\main\java\com\ruoyi\system 下的目录
5. 数据库中运行sql
6. 在Service目录中开发相应逻辑

五、增加定时任务

1. 定时任务,可以在ruoyi-admin或 任意一个模块下新建一个类,给类加上注释@Component("myTestTask") 
2. 其中myTestTask是这个类的别名。
3. 在web页端添加任务,调用方法:myTestTask.myFunction,
4. 设置 cron表达式
5. 执行策略:如果在规定时间没有执行,再次启动任务时的策略。立即执行:错过的全部立即执行一次。执行一次:错过的立即执行一次,但只执行一次。放弃执行:不再执行错过的任务

六、集成websocket

1. 在ruoyi-framework下的config目录添加 WebSocketConfig内容如下:
	```package com.ruoyi.framework.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.server.standard.ServerEndpointExporter;/*** 开启WebSocket支持*/@Configurationpublic class WebSocketConfig {@Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}}```主要是引用 ServerEndpointExporter 
2. 在 ruoyi-admin下的web controller目录下创建 WebSocketServer类,主要是加上注释
	```@ServerEndpoint("/websocket/{token}")@Componentpublic class WebSocketServer {```这里的/websocket/{token} 是访问路径, {token} 是用户的token做参数,便于区分用户
3. 注意:WebSocketServer类中不能使用 @Autowired 注入, 可以用static + set 的方式传参,传入参数(如:Service)
	```private static TokenService tokenService;@Autowiredpublic void setTokenService(TokenService tokenService) {WebSocketServer.tokenService = tokenService;}
```

七、 实现后台运行

1.在config下添加RunConfig的class类, 里面有个run方法,指向一个Service去做要后台运行的逻辑。
package com.ruoyi.framework.config;import com.ruoyi.sms.service.AsyncService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;@Component
public class RunConfig {@AutowiredAsyncService asyncService;/*** 后台运行*/public void run(){while(true){asyncService.executeAsync();}}
}
2. 在 ruoyi-admin 下的 RuoYiApplication里 添加init()方法,并放在main方法中
public static void main(String[] args){// System.setProperty("spring.devtools.restart.enabled", "false");SpringApplication.run(RuoYiApplication.class, args);System.out.println("(♥◠‿◠)ノ゙  若依启动成功   ლ(´ڡ`ლ)゙  \n" +" .-------.       ____     __        \n" +              " ''-'   `'-'    `-..-'              ");init();}public static void init(){RunConfig config = (RunConfig) ApplicationContextHelper.getBean("runConfig");config.run();}

注:ApplicationContextHelper 是新的文件, 通过Bean名找到类

package com.ruoyi.framework.config;import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;@Component
public class ApplicationContextHelper implements ApplicationContextAware {private static ApplicationContext context = null;@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {ApplicationContextHelper.context = applicationContext;}public static Object getBean(String name){return context.getBean(name);}
}

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

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

相关文章

【Qt上位机】打开本地表格文件并获取其中全部数据

前言 其实本文所实现的功能并非博主要实现的全部功能,只是全部功能中的一小部分,这里只是为了记录一下实现方法,防止后续忘记,仅供参考。 文章目录 一、实现效果二、UI设计三、程序设计3.1 选择本地表格文件3.2 获取表格总行列数3…

排序算法-冒泡排序法(BubbleSort)

排序算法-冒泡排序法(BubbleSort) 1、说明 冒泡排序法又称为交换排序法,是从观察水中的气泡变化构思而成的,原理是从第一个元素开始,比较相邻元素的大小,若大小顺序有误,则对调后再进行下一个…

[ERROR] COLLATION ‘utf8_unicode_ci‘ is not valid for CHARACTER SET ‘latin1‘

[ERROR] COLLATION utf8_unicode_ci is not valid for CHARACTER SET latin1错误来源是: 跟着b站的谷粒商城项目做,前面的视频中设置了数据库的字符集编码,但是后面自己发现了MySQL容器重启报错,不停的在重启 查看log信息可以使用…

LuatOS-SOC接口文档(air780E)-- httpsrv - http服务端

httpsrv.start(port, func)# 启动并监听一个http端口 参数 传入值类型 解释 int 端口号 function 回调函数 返回值 返回值类型 解释 bool 成功返回true, 否则返回false 例子 -- 监听80端口 httpsrv.start(80, function(client, method, uri, headers, body)-- m…

CF1527D MEX Tree

CF1527D MEX Tree MEX Tree - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 CF1527D MEX Tree题目大意基本思路询问修改code 题目大意 给出一棵 n n n 个点的树,点从 0 0 0 到 n − 1 n - 1 n−1 编号。定义一条路径的权值是路径上所有点编号的 m e …

安装Zookeeper

ZooKeeper是一个开源的分布式协调服务,它主要用于解决分布式系统中的一致性、可靠性和协调性等问题。 选择版本 去archive.apache.org/dist/zookeeper/,选择Zookeeper版本,我选择3.4.6 上传服务器 复制地址,通过wget下载 wget…

400电话申请办理:为企业提供高效沟通的必备工具

在当今竞争激烈的商业环境中,企业需要与客户保持紧密联系,提供高效沟通渠道。而400电话作为一种便捷的客服热线,成为越来越多企业的首选。本文将介绍400电话的申请办理过程,帮助企业了解如何获得这一重要的沟通工具。 首先&#…

MySQL常用脚本

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《ELement》。🎯🎯 &#x1…

asp.net core在其他程序集获取HttpContext

首先在Program.cs中,注册 builder.Services.AddHttpContextAccessor();Program.cs完整代码: using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.CodeAnalysis.CSharp.Syntax; using System.Text.Encodings.Web; using System.Text.Unicode; us…

史上最强,Jmeter性能测试-性能场景设计实例(详全)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、性能测试需求 …

微信小程序支持h5实现webrtc h264 h265低延迟传输渲染

微信小程序自成体系,自身也带了很强的rtc音视频能力,但是他捆绑了他自己的服务,开发也相对受限于他的api。基于以前的了解可以采webview的方式内嵌h5网址来实现自定义的webrtc.但实践起来并不轻松,主要是小程序的严格限制&#xf…

微信页面公众号页面 安全键盘收起后键盘下方页面留白

微信浏览器打开H5页面和公众号页面,输入密码时调起安全键盘,键盘收起后 键盘下方页面留白 解决办法: 1、(简单)只有在调起安全键盘(输入密码)的时候会出现这种情况,将input属性改为n…

如何在Next.js中使用react-viewer图片预览

1.安装依赖 使用npm,或者pnpm进行包安装依赖包 npm i react-viewer # or pnpm add react-viewer2.封装依赖包组件 将依赖包引入到文件之中,然后封装成组件,以备后面业务逻辑中使用;其示例代码如下: import { FC, mem…

Hadoop分布式集群搭建教程

目录 前言环境准备一、创建虚拟机二、虚拟机网络配置三、克隆虚拟机四、Linux系统配置五、Hadoop的部署配置六、Hadoop集群的启动Bug解决参考文章 前言 大数据课程需要搭建Hadoop分布式集群,在这里记录一下搭建过程 环境准备 搭建Haoop分布式集群所需环境&#x…

kafka属性说明

kafka中关于一些字段说明 groupId :标识消费者分组id,如果多个消费者id相同,就表示这几个消费者是一组,当一组多个消费者消费同一个topic时,一组中只会有一个成功消费 代码如下 这时只会有一条消息被消费

【科学文献计量】利用pybibx分析Scopus文献数据集(EDA,N-Grams,Cluster,Network analysis,NLP)

利用pybibx分析Scopus文献数据集 1 运行前准备1.1 数据集1.2 前置库2 加载库3 数据导入4 探索式数据分析,即EDA4.1 表格可视化4.2 词云图可视化4.3 N-Grams可视化4.4 文献聚类4.5 主题词演化4.6 桑基图可视化4.7 树图可视化4.8 作者生产力可视化5 网络可视化5.1 文献引用与被引…

自行开发一个安卓相册的功能说明

手机本身附带相册,为什么还要自己开发啊?我也不想啊。这不是事情要求吗?为了整理思路,把自己想到的功能点汇总起来: 初步要求照片、视频分开游览。将来版本再看是否合并。打开时,使用上次的路径。如果有文…

轻松搭建个人web站点:OpenWRT教程结合内网穿透技术实现公网远程访问

🔥博客主页: 小羊失眠啦 🔖系列专栏: C语言、Linux 🌥️每日语录:山不让尘,川不辞盈。 ❤️感谢大家点赞👍收藏⭐评论✍️ 前言 uhttpd 是 OpenWrt/LuCI 开发者从零开始编写的 Web …

视频美颜SDK,提升企业视频通话质量与形象

在今天的数字时代,视频通话已经成为企业与客户、员工之间不可或缺的沟通方式。然而,由于网络环境、设备性能等因素的影响,视频通话中的画面质量往往难以达到预期效果。为了提升视频通话的质量与形象,美摄美颜SDK应运而生&#xff…

【C语言】预处理详解

前言 在上一篇博客中,我们了解了代码是如何执行的,简单介绍了编译中预处理步骤,在这篇博客中我们将详细了解预处理。 文章目录 一、预定义符号二、#define定义2.1 定义常量2.2 定义宏2.3 创建代码片段 三、#和##运算符3.1 字符串化操作符#3.2…