将HTTPServletRequest注入请求范围的bean

时间:2015-06-02 20:44:45

标签: spring dependency-injection

我有一个REST API webservice,它注入一个单独的bean。这个bean需要知道HTTPServletRequest。所以我创建了另一个名为RequestServiceImpl的bean,它注入了HTTPServlerRequest。

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

}

web-context包含bean定义为

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

此requestService被注入另一个单例bean。我确实看到正确注入了requestservice bean,但HTTPServletRequest对象始终为null。我不知道我哪里出错了

1 个答案:

答案 0 :(得分:0)

HTTPServletRequest是一个界面。你不能有接口的实例。 您可以注入实现HTTPServletRequest的类,即HttpServletRequestWrapper。如果需要,您也可以使用参考实现。

这个答案会帮助你进一步.. Spring Dependency injection for interfaces