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

在SpringBoot项目中,当模块A依赖于模块B和C时,可以通过两种方式确保模块B和C的Bean被加载。一种是在模块A的启动类上使用@ComponentScan注解指定包路径。另一种是通过Maven在pom.xml中引入依赖,但要求被引用模块的包路径与引入模块匹配。若多个模块有相同路径前缀,可以简化@ComponentScan的basePackages配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水超涌也

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值