Spring request scope error:スレッドバインドリクエストが見つかりません
問題
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
溶液
これを修正するには、web.xml
ファイルにRequestContextListenerリスナーを登録します。
ファイル:web.xml
org.springframework.web.context.request.RequestContextListener