2015-05-26 27 views
-2

我正在學習Spring MVC,並試圖用@Autowired Service對象解決問題。我有以下注釋:彈簧4中的自動佈線服務對象上的空指針

@Autowired 
private UserServiceBLInt userService; 

這是一個Controller類的範圍內,並使用userService對象時,我收到了NullPointerException。我沒有在課堂上手動實例化userService對象,因爲我的理解是,要使@Autowired正常工作,我必須讓spring負責創建對象。

我懷疑在彈簧配置文件中,component-scan base-package聲明不正確,所以Spring不知道在哪裏可以找到這些類。

<context:component-scan base-package="com.app.service.**" /> 

UserServiceBLIntcom.app.service.int 具體實現是com.app.service.impl

是在**符號是否正確?

+0

向我們展示您的上下文配置以及在此特定情況下涉及的類。 –

+6

如果你懷疑「**」是罪魁禍首,爲什麼不嘗試沒有它? –

+0

您的服務類「@ Service」是否已註釋? – araknoid

回答

0

Spring reference doc的例子不使用.**

<beans> 
    <context:component-scan base-package="com.acme"/> 
</beans> 

所以最有可能的,這是你的問題。

0

請勿使用。** ind基本包聲明。只需指定要在Spring中自動裝入Bean的包名稱,那麼也可以使用逗號分隔的值作爲包裝名稱。