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