若依版本:
RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
背景:
后端想自己增加一个模块,但是包路径就是不想com.ruoyi开头,诶对,就是不想。
出现的问题:
1.各种service找不到。
2.mapper找不到。
3.甚至还会给你来一个datasource找不到,提示url没有配置的。
这些我都会一一的帮你解决。
第一步:创建moudle
这个就不说了嗷,很简单,用idea怎么创建,怎么在pom里面修改,怎么在ruoyi-admin中引用,这些都是毛毛雨,这些那些写手写的还是可以的。
创建完成后的截图
第二步:配置xml中实体类的扫描范围,这个简单。
第三步:配置mapper的扫描范围,这个简单。
注意:在ruoyi-framework里面引用你自己创建的项目
第四步:在springboot启动的时候,要告知扫描包的路径。
这里要注意了,这里是考验基本功的地方,网上很多人都说用componentScan,加上自己包的路径,这个我只能说你们真的测试过么,别随便复制行么。
因为
@SpringBootApplication 这个注解里面本身就包含了@ComponentScan的注解,你在外面在定义一个,那么最终起作用的也只会是一个,会覆盖@SpringBootApplicaton注解中的@ComponentScan注解。 如果basePackages里面写的路径和启动类所在的路径一致就会出现不共存的现象。
那么怎么解决呢,这个时候就要利用@ComponentScans这个注解。
Spring
提供了 @ComponentScans
注解,让我们能够组合多个 @ComponentScan
使用,这样可以让我们在一次操作中完成多次包扫描。
@ComponentScans
的主要使用场景是当需要对Spring
的组件扫描行为进行更精细的控制时,可以在同一个应用程序中扫描两个完全独立的包,也可以在应用多个独立的过滤器来排除或包含特定的组件。
感兴趣的朋友可以自己百度查查这三个注解的含义,也算是给自己本部富裕的基础知识,雪中送炭吧。
第五步:没啦,就ok了