Test類中不能使用Autowired注入bean
今天下午好好看了下關(guān)于Spring的注解問(wèn)題。
在測(cè)試類中使用AutoWired注解一直不能獲取到Bean,調(diào)用方法時(shí)一直報(bào)空指針異常。
使用ApplicationContext的getBean方法又能獲取到Bean,這證明我們的Bean注解是生效了的,出問(wèn)題的地方應(yīng)該就是AutoWired里面。我有在其他類中使用AutoWired試了下,發(fā)現(xiàn)能夠生效。
問(wèn)題應(yīng)該就是處在Test類中,后面找了半天終于找到問(wèn)題了!!!
在測(cè)試類中我自己使用的測(cè)試單元是
@RunWith(BlockJUnit4ClassRunner.class)
正確的應(yīng)該是使用Spring-test里面的測(cè)試單元
@RunWith(SpringJUnit4ClassRunner.class)
大家寫(xiě)代碼一定要仔細(xì)啊!不然多的時(shí)間浪費(fèi)了。
Test包中使用autowired注入提示Could not autowire. No beans of 'xxx' type found.
嘗試了網(wǎng)上各種方法,最后發(fā)現(xiàn)
將autowired注解換成Resource注解完美解決
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/ssbb1995/article/details/78118038