2015-06-02 45 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

相关问题