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

Spring报错:找不到'myController' Bean,已试ComponentScan和Configuration无效

Spring框架NoSuchBeanDefinitionException问题排查

错误信息

Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'myController' available
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:893)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1155)
    at sumit.springframework.sfgpetclinic.SfgDiApplication.main(SfgDiApplication.java:17)

已尝试方案

已使用@ComponentScan和@Configuration注解,但问题仍未解决,项目仓库地址:https://github.com/jerry2132/sfg-di

排查建议

  • 确认@ComponentScan的扫描范围:如果未指定basePackages属性,默认扫描配置类所在包及其子包,检查myController所在包是否在该范围内。
  • 检查myController类的注解:确保类上标注了@Component、@Controller等Spring stereotype注解,否则Spring不会将其注册为Bean。
  • 验证配置类加载:确认启动类初始化ApplicationContext时,正确传入了配置类;如果是Spring Boot项目,检查启动类是否标注了@SpringBootApplication(该注解包含@ComponentScan和@Configuration)。
  • 核对Bean名称:确认获取Bean时使用的myController与实际注册的Bean名称一致,默认Bean名称为类名首字母小写,若自定义了名称需匹配。

内容的提问来源于stack exchange,提问作者Sumit Singh Rawat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:03:20