問題
SpringでWebアプリケーションを開発するには、 ”
request
“のスコープでBeanを作成します。
@Component
@Scope("request")
public class PaymentService {
@Autowired
UserBo userBo;
//...
しかし、次のエラーメッセージが表示されますか?
Caused by: java.lang.IllegalStateException: No thread-bound request found:
Are you referring to request attributes outside of an actual web request,
or processing a request outside of the originally receiving thread?
If you are actually operating within a web request and still receive this message,
your code is probably running outside of DispatcherServlet/DispatcherPortlet:
In this case,
use RequestContextListener or RequestContextFilter to expose the current request.
//... 28 more
解決策
それを修正するには、http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/web/context/request/RequestContextListener.html[RequestContextListener]リスナーを `web.xml`ファイルに登録します。
File:web.xml
<web-app ...>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
</web-app>