当前位置: 首页 > 知识库问答 >
问题:

JavaConfig中定义的bean的NoSuchBeanDefinitionException

唐昊焜
2023-03-14

我之前在我的项目中使用了XML配置,一切都正常工作。

我们正在逐步转向java配置,所以现在我正处于一个混合使用java和XML配置的阶段。

<bean id="beanA" class="BeanA" />
class BeanA {
     @Autowired
     BeanB beanB;
}
@Configuration
class MyConfig {
    @Bean
    public BeanB beanB() {
        return new BeanB();
    }
}

我得到以下错误:

UnsatisfiedDependencyException:创建名为“bean B”的bean时出错:通过字段“bean A”表示未满足的依赖关系;

嵌套异常是org.springframework.beans.factory.nosuchbeanDefinitionException:没有“com.xxxxx.yyy.zzzzzzzzzzzzz.abc.beana”类型的合格bean可用:

BeanA实际上有更多的依赖关系,所以我不能在这个阶段将它移到java配置(稍后将进行适当的迁移)。

共有1个答案

於和志
2023-03-14

您还需要在xml配置中为BeanB添加配置。当程序运行时,它会从xml配置文件中加载所有bean定义。因此,看起来在configuraion文件中缺少BeanB定义。

 类似资料:
  • 我在JavaConfig中发现了这一点,它看起来如下所示: 如果我的假设错了,请纠正我。 3)我需要将我的类注释为@Component(Scope=“Workflow”)。同样,xml配置将如下所示:

  • 我有一个注释类,它提供了我可以在所有项目中使用的核心功能: 在XML中,它看起来像: 这里也讨论了它,但我需要使用XML和JavaConfig来完成它。是否可能,如何实现?

  • 下面是DynDirectoryServiceImpl代码:

  • 我有一个Spring服务正在检查数据库条目。为了最小化我的存储库调用,两个find方法都是“@cacheable”。但是,当我尝试初始化我的服务bean,而我的配置类有一个CacheManager bean定义时,我会得到以下NosuchBeanDefinitionException: 如果我取出CacheManager bean定义,我可以初始化我的服务bean,它运行时没有任何问题和缓存! 下

  • 我的Spring microservices原型应用程序无法使用以下消息启动: 应用程序依赖项如下所示: 我假设data-jpa和h2都是数据源附带的。我之前有过类似的组合,没有这个问题。我想这个问题可以通过在其中一个依赖项中排除数据源来解决。经过网上搜索,我还没有找到它是如何工作的。 有什么建议吗?

  • 我对Spring框架非常陌生。我正在使用NetBeans作为IDE。我跟着几个教程自学。然而,我陷入了中间,不能继续前进。让我在这里分解一下我的项目: 我的项目文件夹结构如下: 有两个班;主要的一个主应用程序。java包含以下代码: 第二类文件第一页。java看起来像这样: 豆子。xml文件如下所示: 现在,我得到的错误如下: 组织。springframework。豆。工厂NoSuchBeanDe