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"})

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

你可能感兴趣的:(java,maven,spring)