问答详情
源自:4-8 Spring Bean装配之基于Java的容器注解说明——基于泛型的自动装配

个人对s1装配失败的理解

容器中有两个bean都是StringStore类型,要把哪个自动装配给s1呢,spring糊涂了,因为@autowired是按类型自动装配的,有两个这样的类型的bean当然不好办了,报异常吧哈哈

提问者:十佳菜鸟 2015-09-18 19:19

个回答

  • implements
    2017-08-29 14:07:26

    这个我也是没有看懂,s1这个变量名,无法自动装配,如果@Qualifier指定,那还不如直接把变量名改成stringStore呢,但是为什么老师的s1又可以自动装配,这让我很是困惑。

  • 慕后端2198842
    2016-10-26 16:14:50

    public Store stringStoreTest() {

    return new StringStore();

    }

    返回类型就是Store啊 ,多态嘛


  • 油金哇卡呀酷咧
    2016-09-26 14:26:12

    可是老师用的是

    @Bean(name = "stringStoreTest")

    public Store stringStoreTest() {

    System.out.println("s1 : " + s1.getClass().getName());

    System.out.println("s2 : " + s2.getClass().getName());

    return new StringStore();

    }

    把StringStroe改成了   Store 那 但是返回的类型没有变,不久相当于还是有两个StringStore类型吗  .  

    求大神解释    

  • 木虫丶
    2016-01-05 10:57:48

    那就用@Resource或者用@autowired+@Qualifier就行了,用来区分两个类型一样的bean啊