问题描述
当我们想要一个以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
多个配置类,以\结尾文章来源:https://www.toymoban.com/news/detail-425435.html
路漫漫其修远兮,吾将上下而求索
希望可以帮助到你文章来源地址https://www.toymoban.com/news/detail-425435.html
到了这里,关于springboot扫描不到其他模块下定义的Bean的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!