解決Test類中不能使用Autowired註入bean的問題
Test類中不能使用Autowired註入bean
今天下午好好看瞭下關於Spring的註解問題。
在測試類中使用AutoWired註解一直不能獲取到Bean,調用方法時一直報空指針異常。
使用ApplicationContext的getBean方法又能獲取到Bean,這證明我們的Bean註解是生效瞭的,出問題的地方應該就是AutoWired裡面。我有在其他類中使用AutoWired試瞭下,發現能夠生效。
問題應該就是處在Test類中,後面找瞭半天終於找到問題瞭!!!
在測試類中我自己使用的測試單元是
@RunWith(BlockJUnit4ClassRunner.class)
正確的應該是使用Spring-test裡面的測試單元
@RunWith(SpringJUnit4ClassRunner.class)
大傢寫代碼一定要仔細啊!不然多的時間浪費瞭。
Test包中使用autowired註入提示Could not autowire. No beans of ‘xxx’ type found.
嘗試瞭網上各種方法,最後發現
將autowired註解換成Resource註解完美解決
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- springBoot Junit測試用例出現@Autowired不生效的解決
- 如何使用Spring-Test對Spring框架進行單元測試
- 使用@Autowired註解有錯誤提示的解決
- SpringBoot項目如何將Bean註入到普通類中
- Spring Bean自動裝配入門到精通