出現 org.springframework.beans.factory.BeanCreationException 異常的緣由及解決方法


1 異常描述

在從 SVN 檢出項目並配置完成後,啓動 Tomcat 服務器,報出以下錯誤:css

1

2 異常緣由

經過觀察上圖中被標記出來的異常信息,我們能夠知道spring

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘XXX’服務器

此異常,爲:注入 bean 失敗異常。markdown

說白了,出現這個異常,就是找不到對應的 bean 啦!可以致使 bean 注入失敗的緣由包括如下幾種但不限於這幾種:app

  • 對應的 bean 沒有添加註解;
  • 對應的 bean 添加註解錯誤,例如將 Spring 的@Service錯選成 dubbo 的;
  • 選擇錯誤的自動注入方法等。

3 解決方法

既然知道了出現此異常的緣由,那咱們就回過頭來,去看看對應的 Bean 聲明,觀察後發現注入 Facade 的代碼爲:flex

@Autowired ErrorCodeFacade errorCodeFacade;
  • 1
  • 2

好吧,錯誤也就出在了這裏!通常來講,在注入 service 層和 biz 層接口的時候,能夠用@Autowired,例如:ui

@Autowired ErrorCodeService errorCodeService;
  • 1
  • 2

可是,在注入 Facade 層接口的時候,應該用RemoteServiceFactory.getService(),例如:spa

ErrorCodeFacade errorCodeFacade = RemoteServiceFactory.getService(ErrorCodeFacade.class);
  • 1

也就是說,對於這個異常,採用上述代碼聲明 ErrorCodeFacade 後,便可解決。.net


舒適提示:致使此異常的緣由有不少,以上僅列出本人遇到的問題及解決方法,但願對你們有所幫助!code