リクエスト スコープの Bean があり、HttpServletResponse および HttpServletRequest オブジェクトにアクセスする必要があります。
コンストラクターでこれらのオブジェクトにアクセスする必要があるため、プロパティの自動配線はオプションではありません。
私は次のことをしました:
@Component
@Scope("request")
public class MyClass{
@Autowired(required=true)
public MyClass(HttpServletRequest request, HttpServletResponse response) {
// do stuff I need to do in the constructor
}
}
これにより、次のエラーが表示されます。
デフォルトのコンストラクターが見つかりません。ネストされた例外は java.lang.NoSuchMethodException: com.foo.bar.MyClass.() です
このエラー メッセージによると、存在しないパラメーターのない既定のコンストラクターを探しています。コンストラクターを自動配線し、特に「必須」をtrueに設定したため、インジェクターはこのコンストラクターを選択する必要があります。Bean はリクエスト スコープであるため、これは機能するはずですが、機能しません。
何か案は?