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