账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    serviceA类extends ServiceB类,B通过@autowired方式加载A的实例,为什么在调用A实例时报错?
    32
    0

    问题描述

    如题报错NoSuchBeanDefinitionException

    问题出现的环境背景及自己尝试过哪些方法

    B管理最底层的bean,A管理调用B接口方法和dao

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)
    B文件:
    @ContextConfiguration(locations = {"classpath*:context.xml"})
    @Service
    public class B extends AbstractTestNGSpringContextTests {

    @Autowired
    public A a;
    }

    A文件:
    @Service
    public class A extends B{

    @Autowired
    public XXDAO xdao;
    public String get(String aa){
    return xdao.get(aa)}

    }
    C文件调用A的实例:
    public class C extends B{

    a.get(aa)

    }

    你期待的结果是什么?实际看到的错误信息又是什么?

    期望C运行后能执行get方法,但始终加载不了A ,但别人的工程就可以,怀疑是有配置遗漏了?排查时在C中直接加载xdao.get(aa)方法是没有问题的,serviceA死活注入不成功...
    报错信息
    org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [package.A] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1100)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:855)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:480)
    ... 46 more
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部