1. 程式人生 > >org.springframework.beans.factory.BeanCreationException異常的解決辦法

org.springframework.beans.factory.BeanCreationException異常的解決辦法

1 異常描述

在從 SVN 檢出專案並配置完成後,啟動 Tomcat 伺服器,報出如下錯誤:

1

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 後,即可解決。