出現 org.springframework.beans.factory.BeanCreationException 異常的原因及解決方法
阿新 • • 發佈:2019-01-22
1 異常描述
在從 SVN 檢出專案並配置完成後,啟動 Tomcat 伺服器,報出如下錯誤:
2 異常原因
通過觀察上圖中被標記出來的異常資訊,咱們可以知道
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘XXX’
此異常,為:注入 bean 失敗異常。
說白了,出現這個異常,就是找不到對應的 bean 啦!能夠導致 bean 注入失敗的原因包括以下幾種但不限於這幾種:
- 對應的 bean 沒有添加註解;
- 對應的 bean 添加註解錯誤,例如將 Spring 的
@Service
- 選擇錯誤的自動注入方法等。
3 解決方法
既然知道了出現此異常的原因,那我們就回過頭來,去看看對應的 Bean 宣告,觀察後發現注入 Facade 的程式碼為:
@Autowired
ErrorCodeFacade errorCodeFacade;
好吧,錯誤也就出在了這裡!一般來說,在注入 service 層和 biz 層介面的時候,可以用@Autowired
,例如:
@Autowired
ErrorCodeService errorCodeService;
但是,在注入 Facade 層介面的時候,應該用RemoteServiceFactory.getService()
ErrorCodeFacade errorCodeFacade = RemoteServiceFactory.getService(ErrorCodeFacade.class);
也就是說,對於這個異常,採用上述程式碼宣告 ErrorCodeFacade 後,即可解決。
溫馨提示:導致此異常的原因有很多,以上僅列出本人遇到的問題及解決方法,希望對大家有所幫助!