老師,求分析異常原因,我把@Bean修改為這樣,還會(huì)拋出異常,代碼如下
//測試類不動(dòng) @Test public?void?testG(){ ????Store?store?=?super.getBean("stringStore"); } //StoreConfig類中的@Bean @Autowired private?Store<String>?s1; @Autowired private?Store<Integer>?s2; @Bean public?StringStore?stringStore(){ ????System.out.println("s1"+s1.getClass().getName()); ????System.out.println("s2"+s2.getClass().getName()); ????return?new?StringStore(); } @Bean public?IntegerStore?integerStore(){ ????return?new?IntegerStore(); } //然后拋出的異常和老師講解的異常一樣,我這樣改了,s1,s2都沒指定到多個(gè)bean的實(shí)例對象啊
2019-07-28
因?yàn)閟tringStore()方法執(zhí)行的目的就是為了實(shí)例化s1,在方法體中使用s1,此時(shí)還沒有實(shí)例化完成,所以要報(bào)空指針異常。
2018-01-20
你這種需要添加 過濾@Autowiere("mingzi")就沒問題了 至于老師的為什么不報(bào)錯(cuò) 可能是版本問題?
2016-10-26
......你這么寫,當(dāng)執(zhí)行到??System.out.println("s1"+s1.getClass().getName())這句的時(shí)候,
return?new?StringStore();這句還沒執(zhí)行到啊 也就是說 此時(shí)IOC容器中連StringStore這個(gè)bean都是不存在的,
s1自然也是個(gè)空的嘍,那你要它怎么輸出,自然是個(gè)空指針嘍
2016-09-21
可以這樣寫 stringStoreTest:
@Bean(name="stringStoreTest")
public StoreConfig stringStoreTest(){
? ? System.out.println("s1:"+s1.getClass().getName());
? ? System.out.println("s2:"+s2.getClass().getName());
? ? ?return new StoreConfig();
}
測試類為:
@Test
public void testG() {
super.getBean("stringStoreTest");
}
結(jié)果跟老師顯示的一樣!否則會(huì)報(bào) s1,s2 變量空指針異常!
2016-07-01
我也是啊 怎么解決呢?
2016-05-15
我也碰到這個(gè)問題了, 修改測試類的返回類型不能為Store或或其子類即可. 我用的是Spring4.2.6版本
2016-05-05
?System.out.println("s1"+s1.getClass().getName());
?System.out.println("s2"+s2.getClass().getName());
這兩個(gè)地方是需要對象不能為空的,而調(diào)用的時(shí)候是注解自動(dòng)注入的,此時(shí)還沒有注入,所以會(huì)出錯(cuò)誤,你可以先去掉這兩處,就可以通過;另外你如果想看一下注入是否成功,可以將成員變量變?yōu)楣驳?,然后去訪問
2016-04-19
你的spring版本是3 還是4,3好像不支持泛型。。。
2016-04-08