Springリクエストスコープエラー:スレッドバインドされたリクエストが見つかりません

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