You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring无法跨模块注入Bean?求排查解决方法

问题根源与解决方案

核心问题是模块A的依赖中未引入模块B,导致启动模块A时,模块B的实现类并未被加载到应用的Classpath中,Spring扫描包的配置再正确也找不到对应的Bean。

具体修复步骤

1. 给模块A添加模块B的依赖

修改模块A的pom.xml,加入对模块B的依赖:

<dependencies>
    <!-- 保留原有依赖,新增以下内容 -->
    <dependency>
        <groupId>com.company.exp</groupId>
        <artifactId>B</artifactId>
        <version>1.0-SNAPSHOT</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

2. 重新构建所有模块

在根项目目录下执行Maven命令,确保所有模块被正确编译、安装到本地仓库:

mvn clean install

3. 验证启动逻辑

此时启动模块A,Spring就能扫描到模块B中标记了@Service的CommonInterfaceImpl类,完成自动注入。

补充说明

  • 模块B依赖模块A是为了引用CommonInterface接口,但模块A作为启动入口,必须显式依赖模块B才能将其实现类纳入运行环境。
  • 你配置的scanBasePackages = "com.company.exp"是正确的,只要模块B的类被加载到Classpath,Spring就能扫描到该包下的Bean。

内容的提问来源于stack exchange,提问作者eight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 16:28:30