解決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。

推薦閱讀: