容器中有两个bean都是StringStore类型,要把哪个自动装配给s1呢,spring糊涂了,因为@autowired是按类型自动装配的,有两个这样的类型的bean当然不好办了,报异常吧哈哈
这个我也是没有看懂,s1这个变量名,无法自动装配,如果@Qualifier指定,那还不如直接把变量名改成stringStore呢,但是为什么老师的s1又可以自动装配,这让我很是困惑。
public Store stringStoreTest() {
return new StringStore();
}
返回类型就是Store啊 ,多态嘛
可是老师用的是
@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类型吗 .
求大神解释
那就用@Resource或者用@autowired+@Qualifier就行了,用来区分两个类型一样的bean啊