0


springboot扫描不到其他模块下定义的Bean

springboot扫描不到其他模块下定义的Bean

问题描述

当我们想要一个以springboot框架的项目,为了清晰 我们通常将每个模块的代码。
分成不同的模块,后续使用的化方便调用,省去重复造轮子的问题。

springboot默认是不能扫描到其他依赖模块定义的Bean的。(默认扫描的是启动类所在包下的所有Bean)也就是在项目启动的不能将其他模块的Bean加载到spring容器

前置条件

由于我最近在模仿RouYi项目,进行自己重写,就以这个举例

项目之间要有联系性

项目架构
admin模块为springboot框架,其他的只是普通的maven项目,admin 默认是无法扫描到 framework模块里面的bean(@Configuration等等),首先要进行关联。
在这里插入图片描述
默认情况下 springboot项目是独立的,他和主maven项目(ruoyi-imitate)没有联系,我们要将 admin改成ruoyi-imitate 的子模块。
在这里插入图片描述
将其父模块改为我们的主项目,成为其子模块

以依赖的形式进行导入

在这里插入图片描述
将要使用的模块 以依赖的形式,放入主模块(ruoyi-imitate)的pom里面
在这里插入图片描述
然后在子模块的pom里面,进行导入。到此模块间联系性算是完成。

包名不一致问题

假如说两个模块间,包名是不一样的 ps:admin:com.yes framework:com.nobaby
这个时候 也是无法导入的。

在启动注解配置扫描包

@SpringBootApplication(scanBasePackages ="com")

这样的化,就可以扫描到了

配置文件中配置好需要扫描的配置类

在依赖的模块中resorce目录下自定义spring.factories文件,写好需要扫描的配置类,springboot启动时会自动加载(springboot自动配置)

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  com.sheep.swagger.SwaggerConfig

多个配置类,以\结尾

路漫漫其修远兮,吾将上下而求索
希望可以帮助到你

标签: spring boot java spring

本文转载自: https://blog.csdn.net/weixin_45925436/article/details/128008667
版权归原作者 谦卑的学生 所有, 如有侵权,请联系我们删除。

“springboot扫描不到其他模块下定义的Bean”的评论:

还没有评论