若依(RuoYi)系统添加自定义的模块

news/2024/11/20 13:25:38/

RuoYi系统是干什么用的,这里不过多说明了,自己搜一下,其提供的功能己经基本满足了一些简单的系统应用,如果想进行二次开发的小伙伴,可能会想仅仅用Ruoyi的后台权限管理,但是业务功能想进行自定义,可以借鉴一下本文。我们用的是前后端分离版

一、前端的自定义模块

其实在RuoYi系统的后台进行菜单配置时,就会需要填写组件的路径,指向自己的模块组件就可以了。

 

 二、后台的自定义模块

在IDEA中配置

1、在项目上右键,添加 Module,指定模块名称

 

 

2、配置 模块的 pom.xml 

配置好以后,Compile 编译一下,这场maven本地库中就会存在模块

<groupId>com.future</groupId>
<artifactId>mymodule</artifactId>
<version>1.0</version>(建议添加版本号)
<description>
自定义模块
</description>

 

3、配置 主项目ruoyi的pom.xml文件,添上自定义模块

 4、配置 ruoyi-admin 的pom.xml 文件,添加自定义模块

所有相关pom.xml文件配置好以后,重新更新一下所有项目模块。

正常情况,在ruoyi-admin下能看到自定义的模块,如果显示红色提示说明依赖有问题,先去自己的模块下的compile一下。 

5、配置RuoYiApplication程序的入口,将自定义的模块让Spring扫描到,这样自己模块的所有类,才能真正使用。

@ComponentScan({"com.ruoyi.*","com.future.*"})

重要避坑:如果@ComponentScan这里,添加的 自定义包 路径显示是红色,说明还没有识别到自定义模块所在的包,前去检查一下前面几个pom文件的依赖关系,以及项目模块是否compile一下。这种情况启动是正常的,但是无法访问自己模块的Controller,也就无法调用自定义的接口。

 花了大半天时间最后才试成功,主要是自己对Maven不熟悉,特此记录过程,仅供大家参考,有不足之处,请指教。

 

 


http://www.ppmy.cn/news/999914.html

相关文章

nodejs环境部署

1.前言 前端的打包必须要使用nodejs环境 2.部署 下载安装包&#xff0c;在下面的路径中找到适合自己项目合适的版本在下载&#xff0c;可以问一下前端开发人员 路径&#xff1a;Index of /dist/ 我这里是下载了14.21.3版本的nodejs环境,上传到需要部署的主机中 mkdir /opt…

LeetCode 热题 100 JavaScript -169多数元素

给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3] 输出&#xff1a;3 示例 …

java在idea开发工具中测试Spring Boot上线后临时变量是否可用

上文 java Spring Boot上线运维 启动jar时控制台调整零时变量 我们亲手在项目部署之后 调试了临时变量 但是 目前就还有一个问题 这些指令一般是运维人员去操作的 但是 我们作为开发人员 要保证这些临时变量都是可操作的 或者 不能操作也要提前说清楚 毕竟项目是你写的 你也要负…

JDK8:Lambda表达式使用介绍,Lambda表达式源码及原理分析

文章目录 一、Lambda表达式使用1、Lambda表达式介绍2、Lambda使用规范&#xff08;1&#xff09;Lambda基础格式 3、Lambda表达式与传统方式比对&#xff08;1&#xff09;遍历集合&#xff08;2&#xff09;使用Lambda替换匿名内部类使用&#xff08;3&#xff09;实现Lambda实…

46.C++模板

今天进行了新的学习&#xff0c;关于c模板的使用。模板是 C 中一种泛型编程的机制&#xff0c;允许在编写代码时使用参数化类型或参数化值。通过模板&#xff0c;可以编写通用的代码&#xff0c;以处理多种不同类型的数据&#xff0c;从而提高代码的复用性和灵活性。 C 中有两…

【Rust 基础篇】Rust动态大小类型:理解动态大小类型与编写安全的代码

导言 Rust是一种以安全性和高效性著称的系统级编程语言&#xff0c;其设计哲学是在不损失性能的前提下&#xff0c;保障代码的内存安全和线程安全。在Rust中&#xff0c;动态大小类型&#xff08;DST&#xff09;是一种特殊的类型&#xff0c;它的大小在编译时无法确定&#x…

C++ 什么时候使用 vector、list、以及 deque?

如果需要高效地快速访问(随即存取)&#xff0c;并且不在乎插入和删除的效率&#xff0c;使用 vector 如果需要大量的插入和删除&#xff0c;而且不关心快速访问 (随即存取) &#xff0c;使用 list 如果需要快速访问 (随即存取) &#xff0c;并且关心两端数据插入和删除&#…

Vue模版语法

先看以下例题是回顾vue的用法 <body><div id"box">{{myname}} - {{myage}}</div><script>var vm new Vue({el:"#box",data:{myname:"lyx",myage:26}})</script></body> 运行结果如下&#xff1a;vue对象被…