У меня есть 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. ()
Согласно этому сообщению об ошибке, он ищет конструктор по умолчанию без параметров, который не существует. Я автоматически связал конструктор и специально установил «required» в true, поэтому инжектор должен выбрать этот конструктор. Поскольку bean-компонент является областью действия запроса, это должно работать, но это не так.
Есть идеи?