2015-06-02 102 views
0

我有一個REST API webservice,它注入了一個singleton bean。這個bean需要知道HTTPServletRequest。所以我創建了另一個名爲RequestServiceImpl的bean,它已經注入了HTTPServlerRequest。將HTTPServletRequest注入請求範圍的bean

public class RequestServiceImpl implements RequestService 
{ 
    @Autowired 
    private HttpServletRequest request; 

} 

網絡的上下文包含bean定義爲

<bean id="requestService" class="com.RequestServiceImpl" scope="request"> 
    <aop:scoped-proxy/> 
</bean> 

這requestService被注入到另一個singleton的bean。我確實看到requestservice bean被正確注入,但HTTPServletRequest對象始終爲空。我不知道我在哪裏出錯

回答

0

HTTPServletRequest是一個接口。你不能有接口的實例。 您可以注入實施HTTPServletRequest的課程,即HttpServletRequestWrapper。如果你願意,你也可以有你的參考實現。

這個答案將幫助您進一步.. Spring Dependency injection for interfaces

+0

不知道我明白你的意思。你的意思是作爲@Autowired私人HttpServletRequestWrapper請求注入請求; – user2066789

+0

是的。這是正確的.. –

+0

剛剛嘗試過。它沒有工作。請求仍然爲空。任何建議 – user2066789

相關問題