Java Maven多模块项目无法加载其他模块下的Bean

一个Spring Boot项目有模块A,模块B,模块C 模块A:com.text.a 模块B:com.text.b 模块B:com.text.c

模块A引入了模块B和模块C

但是模块A 启动了但是没有加载模块B和C 里面的 Bean ,在这里有两个方法处理

1、注解方式

在模块A的启动类上加一个注解

@ComponentScan(basePackages = {
          
   "com.text.b","com.text.c"})

2、Maven引入方式

在maven的pom文件中引入模块B

<dependency>
            <groupId>net.text</groupId>
            <artifactId>模块B</artifactId>
        </dependency>

这样也可直接启动加载。 但是这样有个弊端,被引用的模块的包路径必须要和引入的模块的包的路径一样,不然也是无法加载到。 所以还需要在启动类上加一个@ComponentScan(basePackages={“”})

如过要引入很多个模块的话,只要模块的包路径有相同的部分,比如: com.text.c com.text.b 可以直接在写相同的部分

@ComponentScan(basePackages = {
          
   "com.text"})

这样就可以少写很多个包名了

经验分享 程序员 微信小程序 职场和发展